it-swarm.com.de

Starten Sie Ubuntu ohne Desktop-Umgebung, aber starten Sie eine X-Anwendung

Ich möchte einen kleinen Computer nur zum Surfen im Internet machen. Ich möchte keine Desktop-Umgebung laden, um die Auslastung von RAM, CPU und GPU so gering wie möglich zu halten. Der Computer wird auf einer ARM CPU ausgeführt. Ich interessiere mich nicht für die Distribution, die ich benutze, ich dachte an gutes altes einfaches Debian.

29
RaverTiny
  1. Erstellen Sie in /usr/share/xsessions/ eine Datei im Format ".desktop", um Ihre benutzerdefinierte, minimale Sitzung zu erstellen. Gehen Sie folgendermaßen vor, um Google Chrome als einzige Anwendung nach der Anmeldung auszuführen:

    [Desktop Entry]
    Type=Application
    Exec=google-chrome
    Name=Google Chrome
    Comment=Testing
    
  2. Starten Sie Ihren Display Manager neu, z.

    Sudo restart lightdm  # or kdm, gdm, etc.
    

    Oder einfach ausloggen.

  3. "Google Chrome" sollte in der Sitzungsliste zur Auswahl stehen (neben regulären Unity- oder anderen DEs, die Sie installiert haben).

    Einloggen und genießen.

optional

  • XDM ist ein sehr minimaler Display-Manager - LightDM, GDM und KDM sind ziemlich "groß". Installiere das mit dem Paket xdm Install xdm und konfigurieren Sie die Standardeinstellung neu, wenn Ihr System mit bootet

    Sudo dpkg-reconfigure lightdm
    
  • Konfigurieren Sie Ihren Display Manager so, dass er automatisch einen bestimmten Benutzer anmeldet. Weitere Informationen finden Sie in der Dokumentation zu Ihrem Display Manager.

26
gertvdijk

Ich weiß, dass diese veraltet ist, aber ich konnte die richtige Antwort auf die Anfrage nicht sehen, so wie ich sie verstehe.

Ich hatte ein Projekt zum Erstellen eines eingebetteten Systems, auf dem eine bestimmte grafische Java -Anwendung auf einem einfachen Computer mit einem Atom -Prozessor und einem Touchscreen ausgeführt wurde. Meine Entscheidung war, die Verwendung von Window-Managern als solche zu vermeiden, um a) einfach, b) leicht und c) zu vermeiden, dass alle Arten von Systemmeldungen auf den Bildschirm gelangen.

Das System sieht folgendermaßen aus:

  1. Installation des Ubuntu-Basissystems, leichteste Variante von 12.04 (immer noch nahe an 1 GB, aber für mich auch auf einer 2 GB-Flash-Disk in Ordnung). Sie können es ein bisschen quälen, um eine kleinere Installation zu machen. Natürlich gibt es dafür mehrere Möglichkeiten. Außerdem müssen Sie Ubuntu nicht verwenden, aber dann sollten meine Anweisungen unten überprüft werden - es gibt Unterschiede zwischen den Distributionen, insbesondere bei Konfigurationsdateien und deren Speicherorten.

  2. Installation des xorg und einiger anderer nützlicher Programme, wie z. B. des xinput-calibrator für meinen resistiven Touchscreen, ifplugd für die Erkennung von Ethernet-Live-Verbindungen, acpid für die Erkennung von Ein-/Ausschalttasten und so weiter.

  3. Öffnen Sie /etc/init/tty1.conf und ändern Sie die Zeile exec /sbin/getty -8 -i 38400 tty1 in exec /sbin/getty -8 -i 38400 tty1 -a username, wobei "Benutzername" der Name des Benutzers ist, den Sie automatisch anmelden möchten.

  4. Um die X-Sitzung automatisch zu starten, öffnen Sie die .bashrc-Datei Ihres Benutzers ~/.bashrc und fügen Sie am Ende der Datei Folgendes hinzu:

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

    (Das -nocursor-Zeug ist für Touchscreens gedacht. Entfernen Sie es, damit der normale Bildschirm den Mauszeiger sieht.) Dadurch wird der X-Server neu gestartet. Wenn Ihre Anwendung aus irgendeinem Grund beendet wird, wird der X-Server automatisch neu gestartet.

  5. Schreiben Sie nun in die .xsession-Datei Ihres Benutzers, ~/.xsession, so etwas (denken Sie daran, dass jeder Befehl hier seriell ausgeführt wird, verwenden Sie also das & -Symbol am Ende der Zeile, wenn Sie einen Server starten möchten):

    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
    

Für ein solches System gibt es noch viele andere Dinge zu beachten, dies ist nur die Grundeinstellung. Hoffe es hilft jemandem. Viel Glück.

24
fault-tolerant

Früher konnte man X ausführen, und X wurde mit einem leeren Bildschirm gestartet. Dann könnten Sie DISPLAY=:0 einstellen und dort etwas ausführen. Vielleicht klappt das noch? In einer Shell soll X& im Hintergrund angezeigt werden.

Sehen Sie sich den Standard-X-Befehlszeilenparameter -geometry an, um die Platzierung des Fensters anzupassen, da Sie keinen Fenstermanager haben, der Ihnen dabei hilft.

Um etwas als Nicht-Root-Benutzer auszuführen, müssen Sie in xauth nachsehen, um die X-Autorisierung für den Nicht-Root-Benutzer einzurichten.

1
Robie Basak