Avvia ubuntu senza un ambiente desktop ma avvia un'applicazione X.

24

Voglio fare un piccolo computer solo per la navigazione in internet. Non voglio caricare un ambiente desktop per mantenere il consumo di RAM, CPU e GPU il più basso possibile. Il computer funzionerà su una CPU ARM. Non mi interessa con Distro che uso, ho pensato al buon vecchio semplice Debian.

    
posta RaverTiny 20.06.2013 - 17:00
fonte

4 risposte

23
  1. In /usr/share/xsessions/ crea un file nel formato ".desktop" per creare la tua sessione personalizzata e minimale. Per eseguire Google Chrome come unica applicazione dopo aver effettuato l'accesso, procedi nel seguente modo:

    [Desktop Entry]
    Type=Application
    Exec=google-chrome
    Name=Google Chrome
    Comment=Testing
    
  2. Riavvia il tuo display manager, ad es.

    sudo restart lightdm  # or kdm, gdm, etc.
    

    O semplicemente disconnetti.

  3. "Google Chrome" dovrebbe apparire nell'elenco delle sessioni per selezionare (accanto a Unity normale o altri DE che hai installato).

    Accedi e divertiti.

opzionale

  • XDM è un display manager molto minimale: LightDM, GDM e KDM sono abbastanza "grandi". Installa utilizzando il pacchetto xdm e riconfigurare il valore predefinito per quando il sistema si avvia utilizzando

    sudo dpkg-reconfigure lightdm
    
  • Configura il tuo display manager per accedere automaticamente a un utente specifico. Vedi la documentazione per il tuo display manager.

risposta data gertvdijk 20.06.2013 - 19:08
fonte
22

So che questo è obsoleto, ma non riesco a vedere la risposta corretta per la richiesta perché la capisco, quindi eccolo qui:

Ho avuto un progetto per la creazione di un sistema integrato che esegue un'applicazione java grafica specifica su un semplice computer con un processore Atom e uno schermo tattile. La mia decisione è stata quella di evitare l'uso di window manager come tale, per mantenerlo a) semplice, b) leggero, e c) evitare qualsiasi tipo di messaggio di sistema che esploda sullo schermo.

Il sistema ha il seguente aspetto:

  1. Installazione del sistema Ubuntu di base, variante più leggera della 12.04 (ancora vicina a 1 GB, ma ok per me anche su un disco flash da 2 GB). Puoi torturarlo un po 'per fare un'installazione più piccola, ovviamente ci sono molti modi per farlo. Inoltre, non devi usare Ubuntu, ma le mie istruzioni qui sotto dovrebbero essere riviste - ci sono differenze tra le distribuzioni, specialmente sui file di configurazione e le loro posizioni.

  2. Installazione di xorg e qualche altro bel software utile, come il calibratore xinput per il mio touchscreen resistivo, ifplugd per il rilevamento della connessione Ethernet in tempo reale, acpid per il rilevamento del funzionamento del pulsante di accensione e così via.

  3. Apri /etc/init/tty1.conf e modifica exec /sbin/getty -8 -i 38400 tty1 line con qualcosa come exec /sbin/getty -8 -i 38400 tty1 -a username , dove "username" è il nome dell'utente che vuoi effettuare l'accesso automatico.

  4. Per avviare automaticamente la sessione X, apri il file .bashrc dell'utente ~/.bashrc e aggiungi qualcosa di simile alla fine del file:

    if [ $(tty) == "/dev/tty1" ]; then
        while true; do startx -- -nocursor -depth 16; echo "Again [$?]..."; done
    fi
    

    (L'elemento -nocursore è per i touchscreen, rimuovilo per la normale schermata per vedere il puntatore del mouse) Questo risparerà il server X, quindi se l'applicazione si chiude per qualsiasi motivo, riavvierà automaticamente il server X.

  5. Ora nel file .xsession dell'utente, ~/.xsession , scrivi qualcosa come questo (ricorda che ogni comando qui è eseguito in serie, quindi usa il simbolo & amp; alla fine della riga se vuoi lanciare un server) :

    xrandr --output VGA1 --mode 800x600      #For setting a video mode
    xrandr --fb 800x600                      #Not always required, sets the framebuffer size
    xsetbg -center background.png &          #To set the background, comes from the xloadimage package
    xset -dpms s off                         #To avoid screen going blank after a while
    ~username/start.sh                       #Start your application
    #You can put some other application calls here that will be run when your application exits
    

Ci sono molte altre cose da considerare per un tale sistema, questa è solo l'impostazione di base. Spero che aiuti qualcuno. Buona fortuna.

    
risposta data fault-tolerant 08.12.2013 - 11:28
fonte
1

Nei tempi antichi, si poteva semplicemente eseguire X , e X si accendeva con una schermata vuota. Quindi potresti impostare DISPLAY=:0 ed eseguire qualcosa lì. Forse funziona ancora? Da una shell vorrai X& per farlo in background.

Esamina il parametro della riga di comando X -geometry standard per regolare la posizione della finestra, poiché non avrai un gestore finestre che ti aiuti in questo modo.

Per eseguire qualcosa come non-root, devi cercare xauth per impostare l'autorizzazione X per l'utente non root.

    
risposta data Robie Basak 20.06.2013 - 18:30
fonte
-2

Innanzitutto, non capisco come si supponga di aprire il browser Web senza caricare l'ambiente desktop. È come voler cucinare un pasto senza accendere il forno. . Va bene che è possibile con X Server, ha sbagliato la domanda.

Quello che stai cercando è scegliere quale applicazione / s si avvierà durante il processo di avvio.

  • In Ubuntu / Unity:

    Fai clic sull'icona dell'ingranaggio nell'angolo in alto a destra del pannello superiore. Seleziona Applicazioni di avvio .

    Una volta aperto, ti verrà mostrato un elenco di applicazioni che il tuo sistema avvia all'avvio del sistema operativo.

    Fai clic su Aggiungi in alto a destra.

    Ti verrà mostrata una finestra di dialogo.

    Nella finestra di dialogo risultante:

    1) Inserisci il nome del programma nel campo "nome" .

    2) Inserisci il comando per eseguire il programma nel campo "comando" .

    3) Inserisci i commenti che desideri nel campo "commenti" .

    Ad esempio:

    Fai clic su Salva e Chiudi .

  • Nella shell di Gnome:

    Premi Alt + F2 per visualizzare la finestra di dialogo Esegui.

    Digita gnome-session-properties .

    Fai clic sul pulsante "Aggiungi" .

    Nella finestra di dialogo risultante:

    1) Inserisci il nome del programma nel campo "nome" .

    2) Inserisci il comando per eseguire il programma nel campo "comando" .

    3) Inserisci i commenti che desideri nel campo "commenti" .

    Fai clic su Salva e Chiudi .

  • In KDE:

    Vai a Menu K & gt; Computer & gt; Impostazioni di sistema.

    Seleziona Avvio e spegnimento e fai clic sul pulsante Aggiungi programma .

    Digitare il comando per eseguire il programma e fare clic su OK .

  • In LXDE:

    Esegui i seguenti comandi nel terminale:

    mkdir -p ~/.config/lxsession/LXDE/
    touch ~/.config/lxsessions/LXDE/autostart
    leafpad ~/.config/lxsessions/LXDE/autostart
    

    Aggiungi questa linea al file di avvio automatico:

    @program_command
    

    Fai clic su Salva e Chiudi .

  • IN LXDE / Lubuntu:

    Esiste già un file di avvio automatico, in ~./config/lxsession/Lubuntu/autostart.

    Usa questo file invece di crearne uno nuovo, nel modo sopra descritto.

  • In XFCE:

    Nel menu Applicazioni apri Gestione impostazioni e seleziona Sessione e avvio .

    Nella scheda Avvio automatico dell'applicazione fai clic sul pulsante Aggiungi .

    1) Inserisci il nome del programma nel campo "nome" .

    2) Inserisci il comando per eseguire il programma nel campo "comando" .

    3) Inserisci i commenti che desideri nel campo "commenti" .

    Fai clic su Salva e Chiudi .

  • Poiché si desidera avviare solo un browser Web (credo firefox), è possibile rimuovere il seguente elenco di programmi dall'elenco delle applicazioni di avvio:

    -Gestore Bluetooth -Deja Dup -Gnome Do -Gnome Accedi audio -Stati di lavoro degli indicatori -Ubuntu One -Assistenza virtuale -Desktop remoto -Pulseaudio

    ma dipende da te.

        
    risposta data dlin 20.06.2013 - 18:06
    fonte

    Leggi altre domande sui tag