• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Script beim Login automtisch ausführen

Ich verwende SLES11 64-bit.
Ich möchte ein script automatisch ausführen, wenn sich z.B. der Benutzer admin anmeldet.

Wenn ich das script in /home/admin/.profile eingebe ist es nicht mehr möglich, mich via VNC auf der graphischen KDE Oberfläche anzumelden.
Ich vermute, die Anmeldeprozedur vom KDE versucht /home/admin/.profile auszuführen - kann es aber nicht und bleibt hängen.

Wenn ich schon angemeldet bin und dann eine Konsolen-Sitzung öffen, dann funktioniert .profile für den Benutzer.
Gibt es eine Möglichkeit, dass /home/admin/.profile nur beim Öffnen einer Konsolen Sitzung geöffnet wird und nicht von der KDE Anmeldeprozedur?

Das gleiche passiert, wenn ich statt .profile das Script .bashrc nenne.
 

spoensche

Moderator
Teammitglied
Du solltest auf gar keinen Fall eines deiner Scripte als .profile oder .bashrc speichern. .profile wird bei jedem Login angehandelt und setzen Umgebungsvariablen bzw. userspezifische Konfigurationswerte der Bash. Die .profile bindet die .bashrc ein.

Die .bashrc wird bei interaktiven (z.B. wenn du eingeloggt bist und eine weitere Shell öffnest) abgehandelt
 

P6CNAT

Advanced Hacker
Hi,

es kann durchaus sinnvoll sein die .bashrc um eigene Definitionen z.B. zur Definition eigener Umgebungsvariablen oder Aliase zu ergänzen. Auf Unix-Systemen haben wir auch die .login auch schon um den Aufruf einer Anwendung mit nachfolgendem exit ergänzt. Dann werden Anwender abgemeldet, sobald sie die Anwendung verlassen.
Aber wie spoensche sagt, würde ich die nicht komplett ersetzen, weil sonst viele Dinge nicht mehr funktionieren.

Gruß
Georg
 
Bei einer Standard Installation von SLES11-64bit gibt es weder eine .profile noch eine .bashrc in /root.

Gibt es eine Möglichkeit, ein Programm nur dann aufzurufen, wenn ein Benutzer sich über ein Terminal (z.B. PuTTY) anmeldet.
Dieses Programm soll aber nicht ausgeführt werden, wenn sich jemand über VNC (graphische Oberfläche) auf dem KDE Desktop anmeldet.
Hintergrund: Dieses Programm ist ein über Ziffern gesteuertes Menü, dass nur über eine Terminal Sitzung funktioniert.
 
Vielen Dank für eure Hilfe.

Nachfolgendes Script funktioniert für meinen Fall.

#!/bin/sh
#
#
if [ -z "$DISPLAY" ] ; then
echo Aufruf ueber PuTTY
fi
 
Oben