Ich habe einige Empfehlungen, die ich direkt nach dem Login aufrufen möchte, einschließlich 'startx', und ich dachte, es rc.local
scheint ein guter Ort für sie zu sein, aber das Problem ist, dass rc.local
es als root ausgeführt wird und ich das nicht will, natürlich kann ich es tun etwas wie das:
su username -c somecommend-here
Aber ich suche nach einer Möglichkeit, die gesamte 'rc.local' als normaler Benutzer auszuführen, oder gibt es vielleicht einen besseren Ort, um meinen Code abzulegen?
PS. Ich benutze Ubuntu-Mini-Remix 1104i386
Vielen Dank
Antworten:
Der einfachste Weg, einen Befehl zu starten, wenn sich ein Benutzer anmeldet, besteht darin, eine
.desktop
Datei für den Befehl zu erstellen und in den~/.config/autostart
Ordner zu stecken . Wie sieht die Desktop-Datei aus? Hier ist ein Beispiel, das die Ask Ubuntu-Homepage beiwget
jeder Anmeldung des Benutzers abruft:quelle
startx
(wie vom OP gefordert) .startx
ausrc.local
. EntschuldigungIch kenne die Unterschiede zwischen /etc/rc.local und einem crontab nicht, aber ich erstelle im Allgemeinen ein Dienstkonto und füge den entsprechenden Job hinzu. Zum Beispiel: sudo crontab -u p4padmin -e
Sie müssen sich nicht anmelden, damit der Dienst ausgeführt werden kann.
quelle
Die Linux-Methode besteht darin, Ihre Befehle
~/.bashrc
anstelle von anzuhängen/etc/rc.local
.Jeder Benutzer hat ein
.bashrc
in seinem Home-Verzeichnis. Diese Skriptdatei wird automatisch ausgeführt, sobald sich ein Benutzer anmeldet. Sie wird mit den Anmeldeinformationen des Benutzers ausgeführt, sodass keinsu
Befehl erforderlich ist.Es scheint mir, dass dies genau das ist, wonach Sie suchen.
quelle
.bashrc
es nicht gelesen wird, wenn sich ein Benutzerlightdm
beispielsweise mit dem Normalen anmeldet .