[gelöst] $EDITOR setzen

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
dasebastian
Beiträge: 1847
Registriert: 12.07.2020 11:21:17
Lizenz eigener Beiträge: MIT Lizenz

[gelöst] $EDITOR setzen

Beitrag von dasebastian » 17.11.2022 10:37:37

Wollte die Datei .selected_editor loswerden, dachte, das geht am Besten über das Setzen einer Umgebungsvariable in der .bashrc, in diesem Fall:

Code: Alles auswählen

export EDITOR=/usr/bin/micro
Für Root funktioniert das auch: habe die Zeile in die .bashrc von Root gesetzt, danach .selected_editor gelöscht, neu angemeldet und siehe da, ich kann im Debianmc per F4 ganz einfach wieder Dateien editieren.

ABER für mich als User funktioniert das nicht: egal ob in ~/.bashrc oder ~/.profile (oder beidem), der mc (eigentlich /usr/bin/select-editor) fragt wieder nach dem gewünschten Editor. Wieso? Wo habe ich hier den Hund begraben?
Zuletzt geändert von dasebastian am 17.11.2022 12:01:44, insgesamt 1-mal geändert.

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: $EDITOR setzen

Beitrag von Meillo » 17.11.2022 10:40:03

Hast du `$VISUAL' auch gesetzt?

Hast du die .bashrc neu eingelesen?
Use ed once in a while!

dasebastian
Beiträge: 1847
Registriert: 12.07.2020 11:21:17
Lizenz eigener Beiträge: MIT Lizenz

Re: $EDITOR setzen

Beitrag von dasebastian » 17.11.2022 10:55:11

Wow Meillo, du bist immer schnell!
Meillo hat geschrieben: ↑ zum Beitrag ↑
17.11.2022 10:40:03
Hast du `$VISUAL' auch gesetzt?
Ähm, nein!

Code: Alles auswählen

sebastian@t420:~$ printenv
SHELL=/bin/bash
QT_ACCESSIBILITY=1
COLORTERM=truecolor
LANGUAGE=de_AT:de
SSH_AUTH_SOCK=/tmp/ssh-aRt46ppZPebr/agent.4050
HISTTIMEFORMAT=%F %H:%M 
SSH_AGENT_PID=4092
XDG_SEAT=seat0
PWD=/home/sebastian
LOGNAME=sebastian
XDG_SESSION_TYPE=tty
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
XAUTHORITY=/home/sebastian/.Xauthority
FZF_DEFAULT_COMMAND=find ~/
WINDOWPATH=1
MOTD_SHOWN=pam
HOME=/home/sebastian
LANG=de_AT.UTF-8
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
_JAVA_AWT_WM_NONREPARENTING=1
VTE_VERSION=6203
TMPDIR=/tmp
INVOCATION_ID=1107c8ff125642848ef51916ea453758
XDG_SESSION_CLASS=user
TERM=xterm-256color
FZF_CTRL_T_COMMAND=find ~/
USER=sebastian
FZF_ALT_C_COMMAND=find ~/ -type d
DISPLAY=:0
SHLVL=1
XDG_VTNR=1
XDG_SESSION_ID=10
XDG_RUNTIME_DIR=/run/user/1000
JOURNAL_STREAM=8:36392
HUSHLOGIN=FALSE
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
HISTIGNORE=cd:history*:ls:ll:s:su -:x:c:dir:uf:o:mc
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
FZF_DEFAULT_OPTS=--height 60% --border horizontal --layout default --info inline --prompt ': ' --color='pointer:12,hl+:12,prompt:12,info:12' --cycle
MAIL=/var/mail/sebastian
_=/usr/bin/printenv
sebastian@t420:~$ 
Hast du die .bashrc neu eingelesen?
Ja, auch als User, habe mich sogar komplett abgemeldet und neu an.

Ich werde mal $VISUAL ausprobieren, aber warum funktionierts bei Root?

dasebastian
Beiträge: 1847
Registriert: 12.07.2020 11:21:17
Lizenz eigener Beiträge: MIT Lizenz

Re: $EDITOR setzen

Beitrag von dasebastian » 17.11.2022 10:59:30

Auch mit $VISUAL (und mit beidem) kein Unterschied, der mc (bzw. select-editor) fragt wieder (ja, nochmal neu gesourced).

uname
Beiträge: 12045
Registriert: 03.06.2008 09:33:02

Re: $EDITOR setzen

Beitrag von uname » 17.11.2022 11:00:40

Du musst dich vollständig neu anmelden. Am besten du bootest mal oder killst alle Benutzerprozesse:

Code: Alles auswählen

kill -9 -1
Kann man nicht auch .bash_profile verwenden?
Leider vergesse ich immer den Unterschied zwischen .bashrc und .bash_profile.
Gerne kann ihn mal wieder jemand erklären.

dasebastian
Beiträge: 1847
Registriert: 12.07.2020 11:21:17
Lizenz eigener Beiträge: MIT Lizenz

Re: $EDITOR setzen

Beitrag von dasebastian » 17.11.2022 11:10:27

uname hat geschrieben: ↑ zum Beitrag ↑
17.11.2022 11:00:40
Du musst dich vollständig neu anmelden. Am besten du bootest mal...
Das hatte ich auch gemacht. Kein Erfolg beim User (nochmal, bei Root ging's ganz einfach, so wie erwartet).
Kann man nicht auch .bash_profile verwenden?
Naja, ich hab's in der ~/.profile ja auch versucht, die wird ja gelesen, wenn keine .bash_profile existiert, wenn ich das richtig verstanden habe.

EDIT: zur Sicherheit habe ich's nochmal abgefragt:

Code: Alles auswählen

sebastian@t420:~$ printenv VISUAL 
/usr/bin/micro
sebastian@t420:~$ printenv EDITOR
/usr/bin/micro
sebastian@t420:~$ 

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: $EDITOR setzen

Beitrag von Meillo » 17.11.2022 11:37:06

Zu den generellen Hintergruenden:

`$EDITOR' war urspruenglich fuer den Editor gedacht, aber das stammt noch aus Zeiten als mit Zeileneditoren (wie `ed') gearbeitet worden ist.

`$VISUAL' ist dann eingefuehrt worden, um zwischen grafischen Editoren (wie `vi') und Zeileneditoren unterscheiden zu koennen, abhaengig davon, ob man an einem Bildschirmterminal oder an einem Hardcopy-Terminal gearbeitet hat.


.profile wird nur einmal beim Anmelden am System gelesen. Darin setzt man typischerweise `$PATH'. .bash_profile ist die Entsprechung dazu, um darin bash-spezifische Befehle abzulegen, da .profile von allen Bourne-Shells gelesen wird.

.bashrc wird bei jedem Start einer bash eingelesen.
Use ed once in a while!

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: $EDITOR setzen

Beitrag von Meillo » 17.11.2022 11:38:47

Zum Testen musst du die Variable nicht in einer Datei setzen. Du kannst sie dem Prozess auch direkt uebergeben:

Code: Alles auswählen

EDITOR=/usr/bin/micro mc
(Ich kann nur generelle Hilfestellung geben, da ich mit dem mc nicht auskenne.)
Use ed once in a while!

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: $EDITOR setzen

Beitrag von Meillo » 17.11.2022 11:40:23

Wie startest du den mc denn? Du solltest ihn von Hand im Terminal starten, damit du pruefen kannst, was genau fuer ein Environment vorhanden ist.
Use ed once in a while!

JTH
Moderator
Beiträge: 3014
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: $EDITOR setzen

Beitrag von JTH » 17.11.2022 11:44:03

dasebastian hat geschrieben: ↑ zum Beitrag ↑
17.11.2022 11:10:27
EDIT: zur Sicherheit habe ich's nochmal abgefragt:

Code: Alles auswählen

sebastian@t420:~$ printenv VISUAL 
/usr/bin/micro
sebastian@t420:~$ printenv EDITOR
/usr/bin/micro
sebastian@t420:~$ 
Wie startest du denn den mc, wenn du nicht den Editor bekommst, den du haben möchtest? Evtl. aus (d)einer Desktop-Umgebung heraus? Dann kann es sein – war schon ein paar mal ein Thema hier – dass die Umgebungsvariablen aus .bashrc etc. dort nicht gesetzt sind.

Funktioniert alles wie gewollt, wenn du den mc hier oben in der letzten Zeile gestartet hättest? Wenn ja, liegt dein Problem eher nicht am Setzen der Umgebungsvariable – die ist ja hier gesetzt – sondern irgendwo in der weiteren Konfiguration vom mv o.a.

Edit: Meillo war schneller. Hat dafür aber drei Beiträge direkt nacheinander gebraucht ;) :P
Zuletzt geändert von JTH am 17.11.2022 11:45:28, insgesamt 1-mal geändert.
Grund: Meillo war schneller
Manchmal bekannt als Just (another) Terminal Hacker.

dasebastian
Beiträge: 1847
Registriert: 12.07.2020 11:21:17
Lizenz eigener Beiträge: MIT Lizenz

Re: $EDITOR setzen

Beitrag von dasebastian » 17.11.2022 12:00:59

JTH hat geschrieben: ↑ zum Beitrag ↑
17.11.2022 11:44:03
Edit: Meillo war schneller. Hat dafür aber drei Beiträge direkt nacheinander gebraucht ;) :P
:mrgreen: Danke euch BEIDEN. :THX:

Stimmt genau so, wie ihr es vermutet habt, starte ich den Debianmc aus der Kommandozeile raus, dann funktioniert das alles - deshalb auch in Root, ist mir jetzt klar.

Starte ich ihn über die Desktopdatei aus zB. Debianrofi raus oder dem Awesome-Menü, dann nicht. Ich hatte ganz zu Beginn meiner Fehlersuche auch schon meine /.config/mc/ini durchforstet, konnte da aber nichts finden, wo ich ihm das direkt mitteilen könnte.

OK, prinzipiell also gelöst, ich lasse es mal so wie es vorher war mit den .selected_editor-Dateien. Flüstert nach einem Bugreport...? :roll:

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: [gelöst] $EDITOR setzen

Beitrag von Meillo » 17.11.2022 12:12:02

Dann wirst du die Umgebungsvariable nicht in die .bashrc, sondern in eine environment Datei deines Desktop Environments eintragen muessen, denke ich. Das ist halt abhaengig vom DE.
Use ed once in a while!

dasebastian
Beiträge: 1847
Registriert: 12.07.2020 11:21:17
Lizenz eigener Beiträge: MIT Lizenz

Re: [gelöst] $EDITOR setzen

Beitrag von dasebastian » 17.11.2022 12:23:34

Meillo hat geschrieben: ↑ zum Beitrag ↑
17.11.2022 12:12:02
Dann wirst du die Umgebungsvariable nicht in die .bashrc, sondern in eine environment Datei deines Desktop Environments eintragen muessen, denke ich. Das ist halt abhaengig vom DE.
Achso! Die Möglichkeit gibt's ja auch noch! :facepalm: :hail:

Verwende hier Debianawesome, wäre dann

Code: Alles auswählen

export EDITOR=/usr/bin/micro
in der (bisher leeren) /etc/environment der richtige Weg?

Habe da ein bisschen Bammel, da drin herumzuwerken, bevor ich mir ganz sicher bin.

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: [gelöst] $EDITOR setzen

Beitrag von Meillo » 17.11.2022 12:40:52

dasebastian hat geschrieben: ↑ zum Beitrag ↑
17.11.2022 12:23:34
Meillo hat geschrieben: ↑ zum Beitrag ↑
17.11.2022 12:12:02
Dann wirst du die Umgebungsvariable nicht in die .bashrc, sondern in eine environment Datei deines Desktop Environments eintragen muessen, denke ich. Das ist halt abhaengig vom DE.
Achso! Die Möglichkeit gibt's ja auch noch! :facepalm: :hail:

Verwende hier Debianawesome, wäre dann

Code: Alles auswählen

export EDITOR=/usr/bin/micro
in der (bisher leeren) /etc/environment der richtige Weg?
Nein, das ist eine globale Datei, die fuer alle User in der Art wie ~/.profile verwendet wird -- grob gesagt. Also, du kannst es dort schon eintragen, aber das ist nicht was ich gemeint habe.

Frueher habe ich mal Fluxbox verwendet. Dort gabe es ~/.fluxbox/environment.

Awesome ist jedoch sehr minimalistisch. Ich kann nicht nachvollziehen, warum der irgendwas am Environment manipulieren sollte. Ich vermute eher, dass deine Variable dort gar nicht geladen wurde (z.B. weil dein Loginprozess gar keine Bash beeinhaltet und darum keine der Bash-Dateien gelesen wird).

Wie dein Environment aus einem Programmlauncher heraus aussieht, kannst du testen, indem du ein Programm aufrufst, das es in eine Datei schreibt:

Code: Alles auswählen

cat >~/bin/write-env.sh <<!
#!/bin/sh
env >/tmp/env
!

chmod +x ~/bin/write-env.sh
Dann kannst du `write-env.sh' aus deinem Launcher heraus aufrufen.


Vielleicht kann man bei Desktop-Dateien auch etwas zum Environment einstellen. Vielleicht verwenden die standardmaessig ein definiertes Environment. Damit kenne ich mich nicht aus. Ich rate nur Moeglichkeiten. ;-)
Use ed once in a while!

dasebastian
Beiträge: 1847
Registriert: 12.07.2020 11:21:17
Lizenz eigener Beiträge: MIT Lizenz

Re: [gelöst] $EDITOR setzen

Beitrag von dasebastian » 17.11.2022 13:54:00

Wieder mal so eine "Kleinigkeit", die dann einen Riesenbauch bekommt... :lol:

Code: Alles auswählen

sebastian@t420:~$ printenv EDITOR
/usr/bin/micro
sebastian@t420:~$ printenv VISUAL 
/usr/bin/micro
sebastian@t420:~$ 
sebastian@t420:~$ ACHTUNG ACHTUNG DAS SKRIPT WIRD AUFGERUFEN ACHTUNG ACHTUNG!
sebastian@t420:~$
sebastian@t420:~$ cat /tmp/env
MAIL=/var/mail/sebastian
LANGUAGE=de_AT:de
USER=sebastian
XDG_SEAT=seat0
XDG_SESSION_TYPE=tty
SSH_AGENT_PID=652
SHLVL=0
MOTD_SHOWN=pam
HOME=/home/sebastian
HUSHLOGIN=FALSE
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
TMPDIR=/tmp
LOGNAME=sebastian
JOURNAL_STREAM=8:15233
XDG_SESSION_CLASS=user
TERM=linux
XDG_SESSION_ID=1
WINDOWPATH=1
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
INVOCATION_ID=61cc889d287f4b5dbf643d6ffdb32b8d
XDG_RUNTIME_DIR=/run/user/1000
DISPLAY=:0
LANG=de_AT.UTF-8
DESKTOP_STARTUP_ID=awesome/rofi/609-1-t420_TIME34730
XAUTHORITY=/home/sebastian/.Xauthority
SSH_AUTH_SOCK=/tmp/ssh-EquSvXz9h8Z3/agent.609
SHELL=/bin/bash
QT_ACCESSIBILITY=1
_JAVA_AWT_WM_NONREPARENTING=1
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
XDG_VTNR=1
PWD=/home/sebastian
sebastian@t420:~$ 

Oi! Do hods wos!
Meillo hat geschrieben: ↑ zum Beitrag ↑
17.11.2022 12:40:52
Frueher habe ich mal Fluxbox verwendet. Dort gabe es ~/.fluxbox/environment.
Nein, sowas habe ich hier tatsächlich nicht.
Ich vermute eher, dass deine Variable dort gar nicht geladen wurde (z.B. weil dein Loginprozess gar keine Bash beeinhaltet und darum keine der Bash-Dateien gelesen wird).
Mein Login ist tatsächlich ein startx aus der tty (per getty-job). Aber ich habe ja in der ~/.config/awesome/rc.lua auch die Möglichkeit Autostarts abarbeiten zu lassen, wäre da ein Ansatz?
Vielleicht kann man bei Desktop-Dateien auch etwas zum Environment einstellen. Vielleicht verwenden die standardmaessig ein definiertes Environment.
Die /usr/share/applications/mc.desktop macht eigentlich nur

Code: Alles auswählen

Exec=mc
Terminal=true
Ich rate nur Moeglichkeiten. ;-)
Vielen Dank trotzdem. :THX:

dasebastian
Beiträge: 1847
Registriert: 12.07.2020 11:21:17
Lizenz eigener Beiträge: MIT Lizenz

Re: [gelöst] $EDITOR setzen

Beitrag von dasebastian » 17.11.2022 14:23:06

Ich habe jetzt $VISUAL und $EDITOR in der /etc/environment gesetzt, nach Neustart funktioniert jetzt alles so wie gewünscht.

Ich verstehe schon, dass das eine Vorschlaghammermethode ist, aber das ist ein Einpersonenrechner - erwachsen mir da wirklich konkrete Nachteile daraus?

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: [gelöst] $EDITOR setzen

Beitrag von Meillo » 17.11.2022 14:29:55

dasebastian hat geschrieben: ↑ zum Beitrag ↑
17.11.2022 13:54:00

Code: Alles auswählen

sebastian@t420:~$ printenv EDITOR
/usr/bin/micro
sebastian@t420:~$ printenv VISUAL 
/usr/bin/micro
sebastian@t420:~$ 
sebastian@t420:~$ ACHTUNG ACHTUNG DAS SKRIPT WIRD AUFGERUFEN ACHTUNG ACHTUNG!
sebastian@t420:~$
sebastian@t420:~$ cat /tmp/env
MAIL=/var/mail/sebastian
LANGUAGE=de_AT:de
USER=sebastian
XDG_SEAT=seat0
XDG_SESSION_TYPE=tty
SSH_AGENT_PID=652
SHLVL=0
MOTD_SHOWN=pam
HOME=/home/sebastian
HUSHLOGIN=FALSE
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
TMPDIR=/tmp
LOGNAME=sebastian
JOURNAL_STREAM=8:15233
XDG_SESSION_CLASS=user
TERM=linux
XDG_SESSION_ID=1
WINDOWPATH=1
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
INVOCATION_ID=61cc889d287f4b5dbf643d6ffdb32b8d
XDG_RUNTIME_DIR=/run/user/1000
DISPLAY=:0
LANG=de_AT.UTF-8
DESKTOP_STARTUP_ID=awesome/rofi/609-1-t420_TIME34730
XAUTHORITY=/home/sebastian/.Xauthority
SSH_AUTH_SOCK=/tmp/ssh-EquSvXz9h8Z3/agent.609
SHELL=/bin/bash
QT_ACCESSIBILITY=1
_JAVA_AWT_WM_NONREPARENTING=1
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
XDG_VTNR=1
PWD=/home/sebastian
sebastian@t420:~$ 

Es waere gut, wenn du die Ausgabe von `env' in dem Script noch durch `sort' pipen wuerdest, bevor du sie in die Datei leitest. Daran hatte ich leider nicht gedacht. In einer sortierten Liste findet man Eintraege leichter. ;-)

dasebastian hat geschrieben: ↑ zum Beitrag ↑
17.11.2022 13:54:00
Meillo hat geschrieben: ↑ zum Beitrag ↑
17.11.2022 12:40:52
Ich vermute eher, dass deine Variable dort gar nicht geladen wurde (z.B. weil dein Loginprozess gar keine Bash beeinhaltet und darum keine der Bash-Dateien gelesen wird).
Mein Login ist tatsächlich ein startx aus der tty (per getty-job).
Dann solltest du, bevor du `startx' eingibst mal ein `env|sort' ausfuehren. *Dort* muessen die Variablen gesetzt sein!

Environment-Variablen werden nur an Kindprozesse vererbt. Wenn du sie also in deinem Terminal spaeter setzt, dann aendern das nichts am Environment deiner Login-Session und damit an Awesome. Darum auch der Hinweis bzgl. des Ausloggens und wieder Einloggens. Du musst die Shell, die der Elternprozess deines Windowmanagers ist, neu starten bzw. in ihr das Profile neu sourcen ... und dann den Windowmanager neu starten. In die momentan laufende Windowmanager-Session kannst du die Umgebungsvariablen nicht nachtraeglich einfuegen.

Ich glaube, an der Stelle hattest du bislang noch ein Verstaendnisproblem. (Falls du den Prozessbaum anzeigen willst, dann geht das mit `ps auxf'.)
dasebastian hat geschrieben: ↑ zum Beitrag ↑
17.11.2022 13:54:00
Aber ich habe ja in der ~/.config/awesome/rc.lua auch die Möglichkeit Autostarts abarbeiten zu lassen, wäre da ein Ansatz?
Autostart hoert sich nicht richtig an. Ich denke auch, dass Awesome nichts spezielles fuer's Environment hat, weil es damit nicht rummacht und somit das Environment einfach unveraendert durchvererbt wird.

Du musst eben den Windowmanager beenden, dich ausloggen, neu einloggen und dann schauen ob in der Loginshell die Variablen gesetzt sind. Das sollten sie sein, wenn du sie in ~/.profile, ~/.bash_profile oder ~/.bashrc eingetragen hast (und eine Bash als Loginshell hast, was der Standard ist). Wenn du dann `startx' neu ausfuehrst, dann sollte es auch in Awesome gehen.


Edit: Es muss auch mit ~/.bash_profile & Co. gehen. Ich vermute, dass du dich beim ersten Versuch nicht richtig ausgeloggt hast oder sonstwas nicht richtig war. Du kannst es ganz einfach mit `env|sort' bzw. `env|grep EDITOR' bzw. `echo $EDITOR' direkt nach dem Login pruefen, bevor du `startx' startest. Wenn dort der Wert gesetzt ist, dann geht es auch.
Use ed once in a while!

dasebastian
Beiträge: 1847
Registriert: 12.07.2020 11:21:17
Lizenz eigener Beiträge: MIT Lizenz

Re: [gelöst] $EDITOR setzen

Beitrag von dasebastian » 17.11.2022 15:23:21

Zuerst mal vielen Dank für deine Geduld, war eine schwere Geburt... :mrgreen:
Meillo hat geschrieben: ↑ zum Beitrag ↑
17.11.2022 14:29:55
Environment-Variablen werden nur an Kindprozesse vererbt. Wenn du sie also in deinem Terminal spaeter setzt, dann aendern das nichts am Environment deiner Login-Session und damit an Awesome. ... In die momentan laufende Windowmanager-Session kannst du die Umgebungsvariablen nicht nachtraeglich einfuegen. ... Ich glaube, an der Stelle hattest du bislang noch ein Verstaendnisproblem.
Nein, das war mir von Anfang an klar, deshalb habe ich ja sogar gar nicht mehr extra gesourced sondern wirklich ausgelogged bzw. auch neu gestartet.
Es muss auch mit ~/.bash_profile & Co. gehen. Ich vermute, dass du dich beim ersten Versuch nicht richtig ausgeloggt hast oder sonstwas nicht richtig war.
Ich habe jetzt alles noch mal komplett auf Anfang gesetzt, neu gestartet, dann die Variablen in den .bashrc gesetzt und wieder neu gestartet. Ich weiss nicht, wo ich bei den unzähligen Versuchen vorher falsch abgebogen bin (nochmal, das Ausloggen war es nicht :twisted: oder in der Hitze der Versuche doch :oops: ?!), aber jetzt geht es.

Sag' mal, wird die .bashrc Zeile für Zeile abgearbeitet? Kann das sein?

Es gibt da bei mir nämlich ein kleines "Halbes-Autologin-Teil" (Danke an JTH und KP97 hier) in meiner .bashrc:

Code: Alles auswählen

# Xautostart
if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty1 ]; then
    exec startx
fi
Bei meinen vorherigen Versuchen hatte ich die Editorvariablen DANACH eingefügt, jetzt habe ich das DAVOR gemacht. Also habe ich vorher tatsächlich irgendwo was vergessen oder die Reihenfolge ist wichtig?
Wenn dort der Wert gesetzt ist, dann geht es auch.
Jou. Dann geht das auch! :THX:

JTH
Moderator
Beiträge: 3014
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: [gelöst] $EDITOR setzen

Beitrag von JTH » 17.11.2022 15:47:30

dasebastian hat geschrieben: ↑ zum Beitrag ↑
17.11.2022 15:23:21
Sag' mal, wird die .bashrc Zeile für Zeile abgearbeitet? Kann das sein?
Ja, klar. Das ist auch ein Bash-Skript, das nur auf bestimmte Weise (durch Sourcen mit . oder source) ausgeführt wird und daher Variablen im aufrufenden Kontext setzen darf.

Ein

Code: Alles auswählen

exit 0
in der zweiten Zeile der .bashrc z.B. würde den Rest komplett ignorieren.

dasebastian hat geschrieben: ↑ zum Beitrag ↑
17.11.2022 15:23:21
Es gibt da bei mir nämlich ein kleines "Halbes-Autologin-Teil" in meiner .bashrc:
Ah und das steht/stand vor dem Exportieren von EDITOR? Ja, dann wird das nichts ;)

Edit: Äh, hast du ja geschrieben:
dasebastian hat geschrieben: ↑ zum Beitrag ↑
17.11.2022 15:23:21
Bei meinen vorherigen Versuchen hatte ich die Editorvariablen DANACH eingefügt, jetzt habe ich das DAVOR gemacht. Also habe ich vorher tatsächlich irgendwo was vergessen oder die Reihenfolge ist wichtig?
Ja, die ist relevant – zumindest wenn irgendetwas, wie hier, dafür sorgen könnte, dass folgende Zeilen nicht mehr beachtet werden.

dasebastian hat geschrieben: ↑ zum Beitrag ↑
17.11.2022 15:23:21
Danke an JTH und KP97 hier
Nicht die Schuld auf andere schieben :x :wink:
Manchmal bekannt als Just (another) Terminal Hacker.

dasebastian
Beiträge: 1847
Registriert: 12.07.2020 11:21:17
Lizenz eigener Beiträge: MIT Lizenz

Re: [gelöst] $EDITOR setzen

Beitrag von dasebastian » 17.11.2022 15:53:07

JTH hat geschrieben: ↑ zum Beitrag ↑
17.11.2022 15:47:30
Ja, klar. Das ist auch ein Bash-Skript, ...
Jup, ich hatte es gerade nochmal probiert und wollte wie ein kleines Kind hier reinspringen, ICH HABS ICH HABS ES WAR DIE REIHENFOLGE HA HAA!
Du warst schneller... :mrgreen:
Nicht die Schuld auf andere schieben :x :wink:
ICH WARS NICHT ICH WARS NICHT!
:mrgreen: :THX: :hail:

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: [gelöst] $EDITOR setzen

Beitrag von Meillo » 17.11.2022 15:59:26

(Hab zu lange zum Schreiben gebraucht. Hier trotzdem meine Antwort.)
dasebastian hat geschrieben: ↑ zum Beitrag ↑
17.11.2022 15:23:21
Sag' mal, wird die .bashrc Zeile für Zeile abgearbeitet? Kann das sein?

Es gibt da bei mir nämlich ein kleines "Halbes-Autologin-Teil" (Danke an JTH und KP97 hier) in meiner .bashrc:

Code: Alles auswählen

# Xautostart
if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty1 ]; then
    exec startx
fi
Bei meinen vorherigen Versuchen hatte ich die Editorvariablen DANACH eingefügt, jetzt habe ich das DAVOR gemacht. Also habe ich vorher tatsächlich irgendwo was vergessen oder die Reihenfolge ist wichtig?
Die .bashrc ist einfach nur eine Reihe von Shellbefehlen, wie ein Shellscript. Da eine exec-Anweisung den kompletten Prozess durch den angegebenen Prozess *ersetzt* kann nie etwas danach verarbeitet werden. Eine exec-Anweisung ist *immer* die letzte Anweisung, die ausgefuehrt wird. Sie sollte darum ganz am Ende der Datei stehen.
Use ed once in a while!

dasebastian
Beiträge: 1847
Registriert: 12.07.2020 11:21:17
Lizenz eigener Beiträge: MIT Lizenz

Re: [gelöst] $EDITOR setzen

Beitrag von dasebastian » 17.11.2022 16:02:44

Meillo hat geschrieben: ↑ zum Beitrag ↑
17.11.2022 15:59:26
Eine exec-Anweisung ist *immer* die letzte Anweisung, die ausgefuehrt wird. Sie sollte darum ganz am Ende der Datei stehen.
Du willst zwei Dotfiles loswerden und lernst schon wieder eine ganze Menge... Wird erledigt.

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: [gelöst] $EDITOR setzen

Beitrag von Meillo » 17.11.2022 16:26:59

dasebastian hat geschrieben: ↑ zum Beitrag ↑
17.11.2022 16:02:44
Du willst zwei Dotfiles loswerden und lernst schon wieder eine ganze Menge... Wird erledigt.
Genau genommen ist GNU/Linux ja auch kein Betriebssystem, sondern ein Lernsystem. :-P :-D
Use ed once in a while!

uname
Beiträge: 12045
Registriert: 03.06.2008 09:33:02

Re: [gelöst] $EDITOR setzen

Beitrag von uname » 18.11.2022 13:37:21

Ich verwende Debianopenbox und nicht Debianawesome.
Vor einiger Zeit bin ich durch Debiannodm bzw. Debianlightdm auch exec losgeworden. ;-)
Man kann wirklich viel lernen wobei wirklich viel passiert ja bei Debianopenbox oder Debianawesome nicht mehr.

dasebastian
Beiträge: 1847
Registriert: 12.07.2020 11:21:17
Lizenz eigener Beiträge: MIT Lizenz

Re: [gelöst] $EDITOR setzen

Beitrag von dasebastian » 18.11.2022 15:50:43

uname hat geschrieben: ↑ zum Beitrag ↑
18.11.2022 13:37:21
Vor einiger Zeit bin ich durch Debiannodm bzw. Debianlightdm auch exec losgeworden.
Ich hab mich da bewusst gegen einen Login-/Displaymanager entschieden, mag diese schwarze TTY mittlerweile auch ganz gerne, sieht so nach 80er aus...
... wobei wirklich viel passiert ja bei Debianopenbox oder Debianawesome nicht mehr.
Und das ist gut so! :THX: (Bis auf das Damoklesschwert Wayland)

Antworten