Init-Skripte pro Benutzer

4430
sasuke

Es gibt ein Skript (eher wie ein Befehl), das ich pro Benutzer-Login ausführen möchte. Ich habe von init.dSkripten gehört, aber diese erfordern Root-Berechtigungen und sind nicht für jeden Benutzer anpassbar (AFAIK). Einfach gesagt, ich suche nach etwas in der Richtung, in .bashrcdem nur einmal pro Benutzer-Login ausgeführt werden würde.

Um etwas über das Szenario zu beschreiben, verwende ich derzeit ein Ubuntu-Gastbetriebssystem auf einem Windows-Host (Emulation mit freundlicher Genehmigung von VirtualBox). Jedes Mal, wenn ich mich bei meinem Gastbetriebssystem anmelde, brauche ich einen mountBefehl, der meine freigegebenen Ordner in ein gemeinsames Verzeichnis im Heimatverzeichnis des Benutzers einbindet.

6
Benötigt `mount 'nicht root oder zumindest eine Änderung der Root-Konfiguration, um Volumes für Nicht-Root-Benutzer bereitzustellen? Rich Homolka vor 13 Jahren 0
@Rich: Tatsächlich tut es; Es macht mir nichts aus, eine Kennwortaufforderung zu sehen, wenn ich meine Shell hochfahre. Es ist nur so, dass der Befehl 'mount' ziemlich kompliziert ist und ich mich nicht darum bemühen sollte, ein Hilfsskript auszuführen. sasuke vor 13 Jahren 1

4 Antworten auf die Frage

5
Gilles

Standardmäßig werden Befehle ausgeführt, wenn Sie sich anmelden ~/.profile. In einigen Umgebungen wird diese Datei übersprungen, wenn Sie sich direkt im Grafikmodus anmelden. Mit Ubuntu 10.04 ~/.profilewerden diese Anmeldeskripts von gdm, kdm, lxdm und xdm gelesen (zusätzlich zum Anmelden bei einer Textkonsole oder über ssh.) ).

Wenn Sie eine haben ~/.bash_profile, wird Ihr ~/.profileWille manchmal übersprungen. Fügen Sie am besten nur die folgenden zwei Zeilen in Ihre ein ~/.bash_profile:

. ~/.profile . ~/.bashrc 

Fügen Sie dann Anmeldezeitaktionen ~/.profileund Shell-Anpassungen in ein ~/.bashrc.

Sie haben eine 2-tägige Reise darüber entschieden, warum .bashrc und .profile beim Anmelden ignoriert wurden. Der andere Admin hat auf einmal ein .bash_profile erstellt - nachdem er es gelöscht und wieder abgemeldet hatte, funktionierte alles wieder wunderbar! Woot! Dooley_labs vor 7 Jahren 0
1
celebdor

Vielleicht habe ich nicht alle Feinheiten verstanden, aber ich denke, dass Sie dies tun können, wenn Sie Ubuntu verwenden. Ich denke, Sie könnten einfach für jeden Benutzer ein Skript schreiben (oder ein Skript mit anderen Regeln, abhängig von "whoami") und Wenn sie gnome verwenden (standardmäßig Ubuntu), fügen Sie dieses Skript den Startanwendungen hinzu.

1
natxo asenjo

Sie können die verschiedenen Optionen hier ausprobieren: http://library.gnome.org/admin/gdm/stable/configuration.html . Sie möchten wahrscheinlich die PostLogin-Option

Das Problem hierbei ist, dass alle diese Optionen eine Änderung der Dateien / etc / * erfordern, für die Root-Rechte erforderlich sind. Gibt es keine Dateien, die ich erstellen / bearbeiten kann, um sicherzustellen, dass ein Skript nur ausgeführt wird, wenn sich * I * im System anmeldet? Etwas wie `.bashrc`, das bei jeder Bash-Sitzung aufgerufen wird und für den Benutzer privat ist? sasuke vor 13 Jahren 1
ok, ich vermisste natürlich die Root-Rechte. Sie können versuchen, eine .xinitrc- oder eine .xsession-Datei zu schreiben: http://www.acm.uiuc.edu/workshops/cool_unix/xinitrc.html natxo asenjo vor 13 Jahren 0
nein, das hat auch Arbeit gewonnen. Was funktioniert, ist das Hinzufügen Ihres Skripts zu den Startanwendungen (vorausgesetzt, ubuntu hat so etwas). In Fedora erhalten Sie dort von System -> Präferenzen -> Startup-Anwendungen. Hier gibt es einen Ubuntu-Link: https://help.ubuntu.com/community/AddingProgramToSessionStartup natxo asenjo vor 13 Jahren 0
Das tut es, denke ich, danke. sasuke vor 13 Jahren 0
Ich finde es seltsam, dass es in Linux keinen Standard dafür gibt. Jeder braucht eine andere Methode je nach Verteilung? Oder gibt es vielleicht einen Standard? AlikElzin-kilaka vor 11 Jahren 0
1
Rich Homolka

Linux cron (geschrieben von Paul Vixie, sogenanntes Vixie cron) hat das Meta-Schlüsselwort @reboot, das beim Neustart als Crontab-Besitzer gestartet wird. Siehe http://www.cyberciti.biz/faq/linux-execute-cron-job-after-system-reboot/