Displaymanager-Version (einfacher)
In der Regel ist es die Aufgabe des Display Managers, einen Anmeldebildschirm anzuzeigen und eine Benutzersitzung zu starten. Wenn Sie einen hätten, wäre es ein Weg des geringsten Widerstandes, wenn Sie ihn auf Autologin einstellen. Es ist eine weit verbreitete und wahrscheinlich gut getestete und unterstützte Lösung. Sie müssten 1) Autologin einrichten und 2) Ihre bevorzugte Sitzung verwenden. Beide werden jedoch normalerweise mit den von Ihrem Linux unterstützten Display-Managern (lightdm, xdm, was auch immer ..) unterstützt.
Auf Ubuntu 16.04 (Nicht-Server) habe ich folgendes in /etc/lightdm/lightdm.conf
[Seat:*] autologin-guest=false autologin-user=xyz autologin-user-timeout=0
Sie müssen lightdm installieren und möglicherweise aktivieren
apt-get install lightdm
Lightdm ist der Standard-Anzeige-Manager für Ubuntu. Es ist nicht standardmäßig auf der Ubuntu Server Edition installiert, und Sie werden mehrere Pakete installieren, so dass der härtere manuelle Weg erforderlich ist, wenn Sie sie vermeiden möchten.
Wie Sie ein grafisches Login auf dem Ubuntu-Server einrichten, ist hier besser beschrieben: https://askubuntu.com/questions/53822/how-do-you-run-ubuntu-server-with-a-gui#788193 . Danach können Sie dies tun Autologin einrichten, wenn Sie möchten.
Sie können Ihren vorgefertigten Sitzungstyp (Openbox) auswählen, indem Sie /home/username/.dmrc
auf etwas einstellen
[Desktop] Session=openbox
Manuell (startx)
Ich weiß nicht, was genau erforderlich ist, um eine x-Sitzung startx beim Booten zu starten, aber ich würde vorschlagen, das Problem in einen schrittweisen Prozess zu zerlegen:
Sie sagen, dass Sie startx als root arbeiten. Es wäre schön zu überprüfen, ob Sie sich als root an einer Konsole anmelden und eine x-Sitzung mit folgendem starten können:
root@xyz # startx
Stellen Sie sicher, dass Sie eine X-Sitzung starten können, wenn Sie als bevorzugter Benutzer angemeldet sind.
myuser@xyz $ startx
Stellen Sie sicher, dass Sie eine X-Sitzung als bevorzugten Benutzer starten können, jedoch als root angemeldet sind, indem Sie auf dem vorherigen Befehl aufbauen:
a) Verwenden Sie etwas wie:
root@xyz # su -l myuser -c startx
Zitieren Sie den Befehl, wenn Sie mehrere Argumente benötigen:
root@xyz # su -l myuser -c "startx arg1 arg2 .."
b) Sie können diesen Schritt möglicherweise überspringen, wenn Sie den Benutzer in der Systemeinheit festgelegt haben.
Machen Sie es autostart.
a) Fügen Sie den Befehl (3a) hinzu
/etc/rc.local
und starten Sie den Computer neu.b) Verwenden Sie eine von Ihnen beschriebene Systemeinheit mit dem Befehlssatz gemäß 2/3. Zum Testen können Sie so etwas verwenden
root@xyz # systemctl stop autologin # make sure to reset service root@xyz # systemctl daemon-reload # don't know if needed root@xyz # systemctl start autologin
Sobald es funktioniert, müssen Sie möglicherweise den automatischen Start oder das, was systemd benötigt, aktivieren (nicht einen Experten).
root@xyz # systemctl enable autologin