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

29

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.

RaverTiny
quelle
Dann möchte ich ubuntu minimal iso vorschlagen und blackbox DE
Tachyons
Ich bin kein wirklicher Experte, aber ich würde vorschlagen, einen Blick auf die xsession-Konfiguration zu werfen (es gibt eine Manpage für xsession). Wenn Sie dieses Verhalten nur für einen Benutzer möchten, erstellen Sie eine Datei im Ausgangsverzeichnis des Benutzers mit dem Namen .xsession und geben Sie den gewünschten Befehl ein. Dann müssen Sie wahrscheinlich einen Anmeldemanager verwenden, mit dem Sie sich bei Standard-xsession anstelle einer anderen Desktop-Umgebung anmelden können (oder deaktivieren Sie den Anmeldemanager und verwenden Sie stattdessen startx). Trotzdem würde ich empfehlen, stattdessen einen ressourcenschonenden Fenstermanager zu verwenden (Tachyons schlug Blackbox vor, und es gibt zahlreiche andere).
Quelle
Wenn Sie die Desktop-Umgebung nicht laden, wie soll der Internetbrowser geöffnet werden?
dlin
5
@ Nick Du kannst. Mit einem einfachen X-Server als 'Sitzung' ohne Fenstermanager können Sie genau eine Anwendung im Vollbildmodus ausführen (ohne Rahmen oder andere Verzierungen). So funktionieren beispielsweise diese minimalen XBMC-Distributionen. Ich habe dies vor ein paar Jahren mit Chromium im 10.04 getan - aber ich habe die genaue Konfiguration nicht gespeichert.
Gertvdijk
"Ich dachte an gutes altes einfaches Debian." Wenn Sie andere Distributionen als Ubuntu in Betracht ziehen, sollten Sie dies stattdessen unter Unix und Linux StackExchange nachfragen . Diese Ask Ubuntu-Site ist nur für Ubuntu bestimmt - Fragen, die nicht mit Ubuntu zu tun haben, werden hier als nicht thematisch behandelt.
Gertvdijk

Antworten:

26
  1. In /usr/share/xsessions/eine Datei im „.desktop“ Format Ihre benutzerdefinierte, minimal - Sitzung zu erstellen. Gehen Sie folgendermaßen vor, um Google Chrome nach der Anmeldung als einzige Anwendung 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.

wahlweise

  • XDM ist ein sehr minimaler Display-Manager - LightDM, GDM und KDM sind ziemlich "groß". Installieren Sie dies mit dem Paket xdmInstall xdm und konfigurieren Sie die Standardeinstellung für den Systemstart mit neu

    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.

gertvdijk
quelle
1
Wenn man den gesamten Desktop mitbringen muss, löscht man einfach die .desktop-Datei und startet neu?
enthusiasticgeek
1
@enthusiasticgeek Keine Notwendigkeit.
Wählen Sie
Weiß jemand, wie man die Eingabesprache des Systems im Single-App-Modus umschaltet?
fnc12
Hat jemand das Problem, wenn der Mauszeiger im Einzelanwendungsmodus fehlt?
fnc12
Ich habe google-chrome --kiosk gestartet, aber es belegt nicht den gesamten Bildschirm. Wie kann ich es maximieren?
Tumbudu
24

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 Java-Grafikanwendung auf einem einfachen Computer mit einem Atom-Prozessor und einem Touchscreen ausgeführt wird. 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 des xinput-calibrators 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. Öffne /etc/init/tty1.conf und ändere die exec /sbin/getty -8 -i 38400 tty1Zeile in so etwas wie exec /sbin/getty -8 -i 38400 tty1 -a username, wobei "Benutzername" der Name des Benutzers ist, den du automatisch anmelden möchtest.

  4. Um die X-Sitzung automatisch zu starten, öffnen Sie die .bashrc-Datei Ihres Benutzers ~/.bashrcund 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. ~/.xsessionSchreiben Sie nun in die .xsession-Datei Ihres Benutzers etwas Ähnliches (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.

Fehlertoleranz
quelle
1

Früher konnte man einfach rennen Xund X wurde mit einem leeren Bildschirm gestartet. Dann könnten Sie DISPLAY=:0dort etwas einstellen und ausführen. Vielleicht klappt das noch? Von einer Muschel wirst du wollenX& sie im Hintergrund anzeigen.

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

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

Robie Basak
quelle
-3

Zunächst einmal verstehe ich nicht, wie Sie den Webbrowser öffnen sollen, ohne die Desktop-Umgebung zu laden. Es ist, als ob Sie eine Mahlzeit zubereiten möchten, ohne den Ofen einzuschalten.. Okay, das ist mit X Server möglich. Die Frage ist falsch.

Was Sie suchen, ist die Auswahl der Anwendungen, die während des Startvorgangs gestartet werden.

  • In Ubuntu / Unity:

    Klicken Sie auf das Zahnradsymbol in der oberen rechten Ecke des oberen Bedienfelds. Wählen Sie Startup Applications .

    Nach dem Öffnen wird eine Liste der Anwendungen angezeigt, die Ihr System beim Booten Ihres Betriebssystems startet.

    Klicken Sie oben rechts auf Hinzufügen .

    Ihnen wird ein Dialog angezeigt.

    Im daraufhin angezeigten Dialogfeld:

    1) Geben Sie den Namen des Programms in das Feld "Name" ein.

    2) Geben Sie den Befehl ein, um das Programm im Feld "Befehl" auszuführen .

    3) Geben Sie alle gewünschten Kommentare in das Feld "Kommentare" ein.

    Beispielsweise:

    Klicken Sie auf Speichern und schließen .

  • In der Gnome-Shell:

    Drücken Sie Alt+F2, um das Dialogfeld "Ausführen" aufzurufen.

    Typ gnome-session-properties.

    Klicken Sie auf die Schaltfläche "Hinzufügen" .

    Im daraufhin angezeigten Dialogfeld:

    1) Geben Sie den Namen des Programms in das Feld "Name" ein.

    2) Geben Sie den Befehl ein, um das Programm im Feld "Befehl" auszuführen .

    3) Geben Sie alle gewünschten Kommentare in das Feld "Kommentare" ein.

    Klicken Sie auf Speichern und schließen .

  • In KDE:

    Gehen Sie zu K-Menu> Computer> Systemeinstellungen.

    Wählen Sie Start und Herunterfahren und klicken Sie auf die Schaltfläche Programm hinzufügen.

    Geben Sie den Befehl ein, um das Programm auszuführen, und klicken Sie auf OK .

  • In LXDE:

    Führen Sie die folgenden Befehle im Terminal aus:

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

    Fügen Sie diese Zeile zur Autostart-Datei hinzu:

    @program_command
    

    Klicken Sie auf Speichern und schließen .

  • IN LXDE / Lubuntu:

    Eine Autostart-Datei existiert bereits in ~./config/lxsession/Lubuntu/autostart.

    Verwenden Sie einfach diese Datei, anstatt wie oben beschrieben eine neue zu erstellen.

  • In XFCE:

    Öffnen Sie im Menü "Anwendungen" den Einstellungsmanager und wählen Sie " Sitzung und Start" .

    Auf der Anwendung Autostart - Registerkarte klicken Sie auf die Add - Taste.

    1) Geben Sie den Namen des Programms in das Feld "Name" ein.

    2) Geben Sie den Befehl ein, um das Programm im Feld "Befehl" auszuführen .

    3) Geben Sie alle gewünschten Kommentare in das Feld "Kommentare" ein.

    Klicken Sie auf Speichern und schließen .

  • Da Sie nur einen Webbrowser starten möchten (ich vermute Firefox), können Sie die folgende Liste von Programmen aus Ihrer Startanwendungsliste entfernen:

    - Bluetooth-Manager - Deja Dup - Gnome Do - Gnome Login Sound - Anzeige-Arbeitsbereiche - Ubuntu One - Visuelle Unterstützung - Remote Desktop - Puleaudio

    aber es liegt auf jeden Fall an Ihnen.

    dlin
    quelle
    12
    Ich denke, die Frage ist über das Starten von Anwendungen beim Booten ohne Desktop-Umgebung . Ihre Antwort bezieht sich auf Startanwendungen, nachdem die DE gestartet wurde.
    Gertvdijk