Benutzer-Umgebungsvariable setzen
Benutzer-Umgebungsvariable setzen
Ich will für gpg wie in der manpage beschrieben das Verzeichnnis für die Keys ändern, also statt ~/.gnupg das Verzeichnis ~/MeineSchlüssel/.gnupg verwenden.
Ist mein erster Versuch selber eine Benutzer-spezifische Umgebungsvariable zu setzen. Die Recherche hat mich ins Ubuntu-Wiki geführt. Dort wird empfohlen die Datei ~/.pam_environment anzulegen und dort den Eintrag GNUPGHOME=/home/user/MeineSchlüssel/.gnupg erzeugt. Kontrolliert hab ich das Ergebnis mit printenv, dort finde ich aber diesen Eintrag nicht.
Die ~/.profile will ich eigentlich nicht verändern, da steht ein Skript drin.
Ist der Ansatz über pam_environment bei Debian falsch?
Rolf
Edith: die Datei heißt ~/.profile
Ist mein erster Versuch selber eine Benutzer-spezifische Umgebungsvariable zu setzen. Die Recherche hat mich ins Ubuntu-Wiki geführt. Dort wird empfohlen die Datei ~/.pam_environment anzulegen und dort den Eintrag GNUPGHOME=/home/user/MeineSchlüssel/.gnupg erzeugt. Kontrolliert hab ich das Ergebnis mit printenv, dort finde ich aber diesen Eintrag nicht.
Die ~/.profile will ich eigentlich nicht verändern, da steht ein Skript drin.
Ist der Ansatz über pam_environment bei Debian falsch?
Rolf
Edith: die Datei heißt ~/.profile
Zuletzt geändert von rhHeini am 08.07.2021 09:01:40, insgesamt 1-mal geändert.
- feltel
- Webmaster
- Beiträge: 10476
- Registriert: 20.12.2001 13:08:23
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Leipzig, Germany
-
Kontaktdaten:
Re: Benutzer-Umgebungsvariable setzen
Du kannst die Variablen ruhig in ~/.profile reinschreiben; am besten der Übersichtlichkeit halber ans Ende der Datei mit einem entsprechenden Kommentar, was gemacht werden soll. Die Verwendung von ~/.pam_environment ist mir jetzt so noch nicht untergekommen, aber bekanntlich führen ja viele Wege nach Rom.
debianforum.de unterstützen? Hier! | debianforum.de Verhaltensregeln | Bitte keine Supportanfragen per PM
Re: Benutzer-Umgebungsvariable setzen
Dazu musst du einfach GNUPGHOME zuordnen und dann exportieren:rhHeini hat geschrieben:07.07.2021 19:08:20Ich will für gpg wie in der manpage beschrieben das Verzeichnnis für die Keys ändern, also statt ~/.gnupg das Verzeichnis ~/MeineSchlüssel/.gnupg verwenden.
Code: Alles auswählen
export GNUPGHOME="${HOME}/MeineSchlüssel/.gnupg"
Du hast da ein Skript reinkopiert bzw. reingeschrieben? Kann man machen ist aber eher unüblich. Man würde eher ein (externes) Skript in dieser Datei aufrufen. Wie auch immer, ~/.profile wäre der optimale und logische Ort für die Umgebungsvariable und nicht etwa ~/.bashrc oder Konsorten! Man muss halt nur sicherstellen, dass ~/.profile aufgerufen wird (Login Shell). Zum Testen der Konfiguration einfach ein "source ~/.profile" in der aktuellen Shell absetzen. Für eine systemweite Aktualisierung sollte man sich dann neu anmelden.Die ~/.profiles will ich eigentlich nicht verändern, da steht ein Skript drin.
Re: Benutzer-Umgebungsvariable setzen
Nicht falsch, aber zumindest ungewöhnlich. Er würde auch, nach kurzem Überfliegen der Dateien in /etc/pam.d, in Debian nicht ohne zusätzliche Konfiguration funktionieren. (Dort wird user_readenv nicht für alle erwarteten Anmeldewege auf 1 gesetzt. ~/.pam_environment würde damit in den meisten Fällen wirkungslos bleiben.)
Manchmal bekannt als Just (another) Terminal Hacker.
Re: Benutzer-Umgebungsvariable setzen
Unter Gnome, zumindest unter wayland, wird ~/.profile nicht ausgeführt, vermutlich wird die Sitzung einfach nicht wie früher über eine Shell bzw. ein Shell-Skript gestartet.
Funktionieren sollten dagegen
Ginge es nur darum die Umgebungsvariable im bzw. für das Terminal oder viel mehr die Shell darin zu setzen kann man auch unter Gnome noch die ~/.bashrc oder, wenn man in den Einstellungen des Terminal festlegt, dass die Shell als Login-Shell gestartet werden soll, die ~/.profile nutzen.
Funktionieren sollten dagegen
- ~/.config/environment.d/*.conf
- ~/.gnomerc
Ginge es nur darum die Umgebungsvariable im bzw. für das Terminal oder viel mehr die Shell darin zu setzen kann man auch unter Gnome noch die ~/.bashrc oder, wenn man in den Einstellungen des Terminal festlegt, dass die Shell als Login-Shell gestartet werden soll, die ~/.profile nutzen.
Re: Benutzer-Umgebungsvariable setzen
Vielen Dank für die Hinweise. Ich hab jetzt die 5 Optionen nacheinander ausprobiert und habe versucht das Ergebnis mit printenv in der Userkonsole zu verifizieren. Entweder bin ich blind, das printenv tut nicht das was ich erwarte, oder keine der 5 setzen eine Environmentvariable bei mir. Ich hab in 4 Dateien den Text
eingefügt und entweder rebootet oder mich aus und wieder angemeldet. Die 4 Dateien sind:
Was kann da daneben gehen? Ich hab hier Testing mit Cinnnamon und Lightdm. Müssen die Dateien ausführbar sein? In der ~/.profile steht z.B. per Default ein Skript, die Datei hat aber 644 als Rechte, nicht ausführbar.
Rolf
PS: mir ist dabei noch aufgefallen das ich in FF ein Anzeigeproblem habe. Die Tilde wird als Bindestrich dargestellt, es sein denn ich befinde mich im Editiermodus des Forums. Komisch.
Code: Alles auswählen
GNUPGHOME=/home/rolf/MeineSchlüssel/.gnupg
- ~/.pam_environment
- ~/.profile
- ~/.config/environment.d/profile.conf
- ~/.gnomerc
Was kann da daneben gehen? Ich hab hier Testing mit Cinnnamon und Lightdm. Müssen die Dateien ausführbar sein? In der ~/.profile steht z.B. per Default ein Skript, die Datei hat aber 644 als Rechte, nicht ausführbar.
Rolf
PS: mir ist dabei noch aufgefallen das ich in FF ein Anzeigeproblem habe. Die Tilde wird als Bindestrich dargestellt, es sein denn ich befinde mich im Editiermodus des Forums. Komisch.
Re: Benutzer-Umgebungsvariable setzen
Du musst die Variable exportieren, damit sie an neu aufgerufene Anwendungen vererbt wird:
oder separat
Ohne den Export ist sie nur in der Shell selbst als Nicht-Umgebungsvariable verfügbar:
Nachtrag: Das export notwendig ist, gilt zumindest für die ~/.profile.
Code: Alles auswählen
export GNUPGHOME=/home/rolf/MeineSchlüssel/.gnupg
Code: Alles auswählen
GNUPGHOME=/home/rolf/MeineSchlüssel/.gnupg
export GNUPGHOME
Ohne den Export ist sie nur in der Shell selbst als Nicht-Umgebungsvariable verfügbar:
Code: Alles auswählen
echo $GNUPGHOME
Nachtrag: Das export notwendig ist, gilt zumindest für die ~/.profile.
Manchmal bekannt als Just (another) Terminal Hacker.
Re: Benutzer-Umgebungsvariable setzen
Ich habe etwas Veraltetes gepostet: die ~/.gnomerc wird (seit wayland?) ignoriert.
Aber ~/.config/environment.d/profile.conf sollte funktionieren. In letzterer Datei gehören nur Zeilen die den Variablen Werte zuweisen, wie
ganz ohne Shebang, export oder sonstige Shell-Befehle und sie soll auch nicht ausführbar sein.
Aber ~/.config/environment.d/profile.conf sollte funktionieren. In letzterer Datei gehören nur Zeilen die den Variablen Werte zuweisen, wie
Code: Alles auswählen
GNUPGHOME=/home/rolf/MeineSchlüssel/.gnupg
Re: Benutzer-Umgebungsvariable setzen
Bin etwas weiter. Als ich nach dem export die lange Liste nach dem printenv noch mal geflöht habe, hab ich mittendrin die Variable gefunden. Das funzt für eine Terminalsession. Das ist schon mal was.
Ich möchte die Variable aber permanent setzen, weil ich die Prozedur beim nächsten Verwenden von gpg garantiert vergessen habe. Wie es aussieht wird die ~/.config/environment.d/profile.conf nicht gelesen. Muss ich da noch was in /etc oder so einstellen? Habs schon mehrfach auf Tippfehler kontrolliert,
Rolf
Ich möchte die Variable aber permanent setzen, weil ich die Prozedur beim nächsten Verwenden von gpg garantiert vergessen habe. Wie es aussieht wird die ~/.config/environment.d/profile.conf nicht gelesen. Muss ich da noch was in /etc oder so einstellen? Habs schon mehrfach auf Tippfehler kontrolliert,
Rolf
Re: Benutzer-Umgebungsvariable setzen
Es läuft. Ich hab mich an diesem Artikel langgehangelt: https://wiki.debian.org/EnvironmentVariables und dann noch den Punkt/Kommentar 131.9 aus https://unix.stackexchange.com/question ... t-session# beachtet, jetzt gehts.
Langer Rede kurzer Sinn: in der ~/.profile steht jetzt drin:
Das bringts.
Rolf
Langer Rede kurzer Sinn: in der ~/.profile steht jetzt drin:
Code: Alles auswählen
GNUPGHOME=/home/rolf/MeineSchlüssel/.gnupg; export GNUPGHOME
Rolf
Re: Benutzer-Umgebungsvariable setzen
Das ist doch das, was ich dir oben schon angeraten hatterhHeini hat geschrieben:08.07.2021 18:49:23Langer Rede kurzer Sinn: in der ~/.profile steht jetzt drin:Das bringts.Code: Alles auswählen
GNUPGHOME=/home/rolf/MeineSchlüssel/.gnupg; export GNUPGHOME
Manchmal bekannt als Just (another) Terminal Hacker.
Re: Benutzer-Umgebungsvariable setzen
Da das keine Bash-Only-Syntax ist, ist der Punkt eigentlich komplett überflüssig! Oder kannst du etwa eine bourne-kompatible Shell benennen, die das nicht kann - welche ist denn bei dir installiert?rhHeini hat geschrieben:08.07.2021 18:49:23und dann noch den Punkt/Kommentar 131.9 aus https://unix.stackexchange.com/question ... t-session# beachtet, jetzt gehts.
Re: Benutzer-Umgebungsvariable setzen
Die Hinweise auf das exportieren hab ich überlesen. Ich hab anfangs angenommen das die Definition der Variablen reichen muss. Wieder was gelernt.
Installiert ist bei mir nichts besonderes, eine ganz normale bash. So wie ich es gestaltet habe geht es, ich hab keinen Nerv noch weiter rumzubasteln um den Optimalzustand zu finden.
Rolf
Installiert ist bei mir nichts besonderes, eine ganz normale bash. So wie ich es gestaltet habe geht es, ich hab keinen Nerv noch weiter rumzubasteln um den Optimalzustand zu finden.
Rolf