Gnome-terminal a Midnight Commander

Gnome-terminal a Midnight Commander
« kdy: 20. 02. 2024, 11:12:51 »
Ahoj,

léta spouštím mc v gnome-terminal pomocí příkazu schovaného pod ikonou v panelu gnome:
gnome-terminal --geometry=100x40 -- mc.
Po upgrade Ubuntu 20.04LTS => 22.04LTS přestal v takto spuštěném midnight commanderu fungovat subshell (Ctrl+O).
Zkoušel jsem vše možné, mc -U, spouštění přes další bash skript, nic nepomůže.
Přitom pokud otevřu samotný terminál a v něm ručně zadám mc, subshell funguje.
Je to taková hloupost, ale možnost zadat rychle make nebo latex mi chybí. Co se mohlo při update změnit?


f

Re:Gnome-terminal a Midnight Commander
« Odpověď #1 kdy: 20. 02. 2024, 13:14:50 »
A co je v promenne SHELL? Pokud pri spusteni mc SHELL neukazuje na bash, tak subshell nebude fungovat.

Re:Gnome-terminal a Midnight Commander
« Odpověď #2 kdy: 20. 02. 2024, 15:34:24 »
A co je v promenne SHELL? Pokud pri spusteni mc SHELL neukazuje na bash, tak subshell nebude fungovat.

Ahoj. Je tam /bin/bash. I když nefunguje subshell, tohle je nastavené dobře.

Re:Gnome-terminal a Midnight Commander
« Odpověď #3 kdy: 20. 02. 2024, 17:01:38 »
Zdravím,
ono se to tezko hada. Zkusil bych neco jako
strace -f -s 1024 -o output mc
A pak se podivat do output vyhledat bash, jestli nejake systemove volani kolem toho neselze,
treba ze hledal jinou binarku. Snad pomuze.
Mozna nejdriv muzete zkusit porovnat promenne prostredi. Pustim terminal a v nem mc
a v druhem okne:
cat /proc/$(pidof mc)/environ | xargs -0 -n1 echo > /tmp/mc1
Vyskocim z mc a pustim ho v tom hbome-terminal a znovu ten cat .... > /tmp/mc2
a porovnat vystup diff /tmp/mc1 /tmp/mc2
Toz snad pomuze. Drzim palce.
 \K

Re:Gnome-terminal a Midnight Commander
« Odpověď #4 kdy: 22. 02. 2024, 08:47:40 »
Zdravím,
ono se to tezko hada. Zkusil bych neco jako
strace -f -s 1024 -o output mc
A pak se podivat do output vyhledat bash, jestli nejake systemove volani kolem toho neselze,
treba ze hledal jinou binarku. Snad pomuze.
Mozna nejdriv muzete zkusit porovnat promenne prostredi. Pustim terminal a v nem mc
a v druhem okne:
cat /proc/$(pidof mc)/environ | xargs -0 -n1 echo > /tmp/mc1
Vyskocim z mc a pustim ho v tom hbome-terminal a znovu ten cat .... > /tmp/mc2
a porovnat vystup diff /tmp/mc1 /tmp/mc2
Toz snad pomuze. Drzim palce.
 \K

Ahoj,

srovnal jsem výpisy strace i proměnných prostředí, ale moudrý z toho nejsem. Zdá se, že při spuštění z "ikony" se nenačte /etc/bash.bashrc, protože v cestě chybí nějaké adresáře k překladačům z /opt, které tam nastavuji, ale bash v cestě je. Je to zabalené v příloze, kdyby se v tom někdo chtěl povrtat.


Re:Gnome-terminal a Midnight Commander
« Odpověď #5 kdy: 22. 02. 2024, 11:40:30 »
Zdravím,
ono se to tezko hada. Zkusil bych neco jako
strace -f -s 1024 -o output mc
A pak se podivat do output vyhledat bash, jestli nejake systemove volani kolem toho neselze,
treba ze hledal jinou binarku. Snad pomuze.
Mozna nejdriv muzete zkusit porovnat promenne prostredi. Pustim terminal a v nem mc
a v druhem okne:
cat /proc/$(pidof mc)/environ | xargs -0 -n1 echo > /tmp/mc1
Vyskocim z mc a pustim ho v tom hbome-terminal a znovu ten cat .... > /tmp/mc2
a porovnat vystup diff /tmp/mc1 /tmp/mc2
Toz snad pomuze. Drzim palce.
 \K

Ahoj,

srovnal jsem výpisy strace i proměnných prostředí, ale moudrý z toho nejsem. Zdá se, že při spuštění z "ikony" se nenačte /etc/bash.bashrc, protože v cestě chybí nějaké adresáře k překladačům z /opt, které tam nastavuji, ale bash v cestě je. Je to zabalené v příloze, kdyby se v tom někdo chtěl povrtat.

Ahoj,
hmm, jsem ty strace vystupy rychle proletel a nic moc. Jeste me napada, nezkousel jste spoustet takto:
gnome-terminal --geometry=100x40 -- bash -l -c mc

\K

Re:Gnome-terminal a Midnight Commander
« Odpověď #6 kdy: 22. 02. 2024, 14:14:50 »
Ahoj,
hmm, jsem ty strace vystupy rychle proletel a nic moc. Jeste me napada, nezkousel jste spoustet takto:
gnome-terminal --geometry=100x40 -- bash -l -c mc

\K
Vyzkoušeno, nepomáhá, mc je zase bez subshellu. Ještě jsem zjistil, že stejně se chová i při spuštění z Menu a z appletu App Launcher. Stejně tak jsem experimentoval s volbou "Launch in Terminal". Jo a používám prostředí Cinnamon. Díky za snahu.


Re:Gnome-terminal a Midnight Commander
« Odpověď #7 kdy: 22. 02. 2024, 22:05:57 »
Zapeklite. Vypada jakoby se to zacyklilo nekde v Intel oneapi setvars.
Kód: [Vybrat]
~/tmp/mcout $ grep '^904026 open' mc_strace_with_subshell | grep -v "No such file or directory"
904026 openat(AT_FDCWD, "/opt/intel/fakeintel/libfakeintel.so", O_RDONLY|O_CLOEXEC) = 3
904026 openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libtinfo.so.6", O_RDONLY|O_CLOEXEC) = 3
904026 openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
904026 openat(AT_FDCWD, "/dev/tty", O_RDWR|O_NONBLOCK) = 3
904026 openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
904026 openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache", O_RDONLY) = 3
904026 openat(AT_FDCWD, "/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 3
904026 openat(AT_FDCWD, "/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
904026 openat(AT_FDCWD, "/lib/terminfo/x/xterm-256color", O_RDONLY) = 3
904026 openat(AT_FDCWD, "/etc/bash.bashrc", O_RDONLY) = 3
904026 openat(AT_FDCWD, "/opt/cdf/bin/definitions.B", O_RDONLY) = 3
904026 openat(AT_FDCWD, "/dev/null", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
904026 openat(AT_FDCWD, "/opt/intel/oneapi/setvars.sh", O_RDONLY) = 3
904026 openat(AT_FDCWD, "/opt/AMD/aocc-compiler-4.1.0/setenv_AOCC.sh", O_RDONLY) = 3
904026 openat(AT_FDCWD, "/opt/AMD/aocl/aocl-linux-aocc-4.1.0/aocc/amd-libs.cfg", O_RDONLY) = 3
904026 openat(AT_FDCWD, "/home/velimsky/.bash_history", O_RDONLY) = 3
904026 openat(AT_FDCWD, "/home/velimsky/.bash_history", O_RDONLY) = 3
904026 openat(AT_FDCWD, "/etc/inputrc", O_RDONLY) = 3
A u toho bez subshellu to nedojde dal:
Kód: [Vybrat]
~/tmp/mcout $ grep '^903017 open' mc_strace_without_subshell
903017 openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
903017 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libtinfo.so.6", O_RDONLY|O_CLOEXEC) = 3
903017 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
903017 openat(AT_FDCWD, "/dev/tty", O_RDWR|O_NONBLOCK) = 3
903017 openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
903017 openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache", O_RDONLY) = 3
903017 openat(AT_FDCWD, "/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 3
903017 openat(AT_FDCWD, "/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
903017 openat(AT_FDCWD, "/lib/terminfo/x/xterm-256color", O_RDONLY) = 3
903017 openat(AT_FDCWD, "/etc/bash.bashrc", O_RDONLY) = 3
903017 openat(AT_FDCWD, "/opt/cdf/bin/definitions.B", O_RDONLY) = 3
903017 openat(AT_FDCWD, "/dev/null", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
903017 openat(AT_FDCWD, "/opt/intel/oneapi/setvars.sh", O_RDONLY) = 3
903017 openat(AT_FDCWD, "/opt/intel/oneapi/advisor/latest/env/vars.sh", O_RDONLY) = 3
903017 openat(AT_FDCWD, "/opt/intel/oneapi/ccl/latest/env/vars.sh", O_RDONLY) = 3
903017 openat(AT_FDCWD, "/opt/intel/oneapi/compiler/latest/env/vars.sh", O_RDONLY) = 3
903017 openat(AT_FDCWD, "/opt/intel/oneapi/compiler/2024.0/opt/oclfpga/fpgavars.sh", O_RDONLY) = 3
903017 openat(AT_FDCWD, "/opt/intel/oneapi/dal/latest/env/vars.sh", O_RDONLY) = 3
903017 openat(AT_FDCWD, "/opt/intel/oneapi/debugger/latest/env/vars.sh", O_RDONLY) = 3
903017 openat(AT_FDCWD, "/opt/intel/oneapi/dev-utilities/latest/env/vars.sh", O_RDONLY) = 3
903017 openat(AT_FDCWD, "/opt/intel/oneapi/dnnl/latest/env/vars.sh", O_RDONLY) = 3
903017 openat(AT_FDCWD, "/opt/intel/oneapi/dpcpp-ct/latest/env/vars.sh", O_RDONLY) = 3
903017 openat(AT_FDCWD, "/opt/intel/oneapi/dpl/latest/env/vars.sh", O_RDONLY) = 3
903017 openat(AT_FDCWD, "/opt/intel/oneapi/inspector/latest/env/vars.sh", O_RDONLY) = 3
903017 openat(AT_FDCWD, "/opt/intel/oneapi/ipp/latest/env/vars.sh", O_RDONLY) = 3
903017 openat(AT_FDCWD, "/opt/intel/oneapi/ippcp/latest/env/vars.sh", O_RDONLY) = 3
903017 openat(AT_FDCWD, "/opt/intel/oneapi/itac/latest/env/vars.sh", O_RDONLY) = 3
903017 openat(AT_FDCWD, "/opt/intel/oneapi/mkl/latest/env/vars.sh", O_RDONLY) = 3
903017 openat(AT_FDCWD, "/opt/intel/oneapi/mpi/latest/env/vars.sh", O_RDONLY) = 3
903017 openat(AT_FDCWD, "/opt/intel/oneapi/tbb/latest/env/vars.sh", O_RDONLY) = 3
Zkuste dat exit 0 na zacatek do toho /opt/intel/oneapi/setvars.sh
pro zjisteni jestli to kazi setvars.sh.

To opravdu vypada na ty environment promenne. Zkuste si pohrat s .bash_profile .profile .bashrc
Podivat se na defaulty v /etc/skel/ a porovnat s tim co mate v home. Jestli treba neschazi
   source $HOME/.bashrc  v .profile 

Kdyz nepomuze tak nezbyde nez poustet terminal a pak az rucne mc

Toz drzim palce.
\K

Re:Gnome-terminal a Midnight Commander
« Odpověď #8 kdy: 22. 02. 2024, 22:28:46 »
Zkuste dat exit 0 na zacatek do toho /opt/intel/oneapi/setvars.sh
pro zjisteni jestli to kazi setvars.sh.

To opravdu vypada na ty environment promenne. Zkuste si pohrat s .bash_profile .profile .bashrc
Podivat se na defaulty v /etc/skel/ a porovnat s tim co mate v home. Jestli treba neschazi
   source $HOME/.bashrc  v .profile 

Kdyz nepomuze tak nezbyde nez poustet terminal a pak az rucne mc

Toz drzim palce.
\K
Bingo! Zakomentoval jsem ten openapi skript v /etc/bash.bashrc a subshell se objevil.
Ani jsem se nemusel odlogovat. Zkusím se ještě podívat jestli pomůže openapi volat
z $HOME/.bashrc, nebo nějak jinak. Překladač ifx v cestě potřebuju, ale teď
už vím, co to bylo. Díky za pomoc, tohle bych sám nedal.

Re:Gnome-terminal a Midnight Commander
« Odpověď #9 kdy: 23. 02. 2024, 09:29:35 »
Bingo! Zakomentoval jsem ten openapi skript v /etc/bash.bashrc a subshell se objevil.
Ani jsem se nemusel odlogovat. Zkusím se ještě podívat jestli pomůže openapi volat
z $HOME/.bashrc, nebo nějak jinak. Překladač ifx v cestě potřebuju, ale teď
už vím, co to bylo. Díky za pomoc, tohle bych sám nedal.

Ahoj. Abych to uzavřel, pomohlo přesunout volání source /opt/intel/oneapi/setvars.sh do ~/.profile.
Subshell v mc funguje, Intel Fortran ifx je v cestě, takže mám čokoládový dort i s hořčicí, jak je to v tom starém vtipu.
Ještě jednou díky.