GUI in .profile starten, wenn es nicht läuft? Linux-Minze 19

378
Mark Deven

Ich habe das folgende Skript in meiner .profile-Datei:

systemctl is-active --quiet lightdm && ( echo Welcome to Terminal) || ( sleep 8 startx) fi 

Das Ziel ist, dass die GUI gestartet wird, wenn die GUI noch nicht ausgeführt wird. Das tut es aber nie. Es heißt nicht einmal Welcome to Terminal.

BEARBEITEN: Ich habe versucht, eine Regel zu / etc / sudoers hinzuzufügen, aber die Eingabeaufforderung wird nicht geändert. Folgendes habe ich in der Datei:

# # This file MUST be edited with the 'visudo' command as root. # # Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this file. # # See the man page for details on how to write a sudoers file. # Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"  # Host alias specification  # User alias specification  # Cmnd alias specification lukaka ALL = NOPASSWD: /usr/sbin/service lightdm * # User privilege specification root ALL=(ALL:ALL) ALL  # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL  # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL  # See sudoers(5) for more information on "#include" directives:  #includedir /etc/sudoers.d 
0
* Fehler: * hinter "fi", ohne "if" zu starten. Starten Sie `lightdm`:` systemctl start lightdm`. Um zu vermeiden, dass Ihre Befehle in der Sub-Shell ausgeführt werden, verwenden Sie {{} anstelle von `()`. Alex vor 5 Jahren 0
Und das wird die GUI starten? Mark Deven vor 5 Jahren 0

1 Antwort auf die Frage

1
Alex

Am Ende der ~/.profileDatei hinzufügen:

systemctl is-active --quiet lightdm && { echo 'Welcome to Terminal' } || { echo 'Starting Desktop GUI in 8 seconds... Press Ctrl-c to abort' sleep 8 sudo systemctl start lightdm } 

Wenn Ihr LinuxMint so eingestellt ist, dass von der Konsole anstatt vom Desktop gebootet wird, wird nach dem Anmelden bei Ihrem Konto die folgende Meldung angezeigt:

Starten der Desktop-Benutzeroberfläche in 8 Sekunden ... Drücken Sie Strg-c, um den Vorgang abzubrechen

Um das Laden des Desktops zu unterbrechen, drücken Sie, Ctrl+c andernfalls fordert das System Sie zur Eingabe des Passworts auf.

Wenn Sie den Desktop bereits geladen haben und das Terminalprogramm starten würden, wird die Begrüßungsnachricht angezeigt:

Willkommen im Terminal

PS

Wenn Sie kein sudoKennwort für den automatischen Start des Desktops angeben möchten, gehen Sie wie folgt vor:

1. Führen sudo visudoSie das Kennwort aus und geben Sie es ein.

2. Wenn Sie nicht sudoüberall mit dem Passwort belästigt werden sollen,
fügen Sie am Ende der Datei Folgendes hinzu : (Ersetzen Sie Ihren tatsächlichen Benutzernamen anstelle von YourUserName )
YourUserName ALL=(ALL) NOPASSWD: ALLund speichern Sie ihn.
Andernfalls können Sie die Anforderung zur Eingabe des sudoKennworts nur für den Start des Desktops mithilfe der folgenden Zeile umgehen visudo:
YourUserName ALL = NOPASSWD: /usr/sbin/service lightdm *

Dies ist, was ich habe, außer es fragt nach einem Sudo-Passwort, das Id nicht eingeben muss. Mark Deven vor 5 Jahren 0
Ich habe die Antwort aktualisiert, lese die Schritte nach PS, um `sudo` auszuführen, ohne nach dem Passwort zu fragen Alex vor 5 Jahren 0
will das Sudo Pass-Prompt nicht für alles entfernen? Mark Deven vor 5 Jahren 0
Wie sieht "lukaka ALL = NOPASSWD: / usr / sbin / service lightdm *" aus? Mark Deven vor 5 Jahren 0
Verwenden Sie: `lukaka ALL = NOPASSWD: ALL`, dann wird Sudo Sie nicht mit Passwort stören Alex vor 5 Jahren 0
Aber stört mich das Passwort überhaupt nicht oder nur mit dem Dienst, denn ich möchte, dass Sudo außer bei dieser Instanz normal funktioniert. Mark Deven vor 5 Jahren 0
Am Ende habe ich den Befehl verwendet, den ich gepostet habe. Wie Sie jedoch sagten, musste ich ihn unter dem Strich platzieren. Möchten Sie Ihre Antwort ändern, um "YourUserName ALL = NOPASSWD: / usr / sbin / service lightdm *" als Alternative zu verwenden, so dass Sie nur die Kennwortabfrage von sudo für ein Element ablehnen können? Mark Deven vor 5 Jahren 0
Erledigt. Antwort aktualisiert mit Ihrer Lösung. Alex vor 5 Jahren 0