Geany pod Linuxem - domyślna powłoka systemowa w terminalu

Witam

Programuję w języku C używając IDE Geany w wersji 1.22 (Tavira) pod systemem Linux (konkretnie Arch Linux 64-bit).

Od zawsze ustawionym domyślnym emulatorem terminala, wykorzystywanym do uruchamiania napisanych programów, była Konsole (z racji tego, że działam pod KDE) a powłoką systemową było /bin/bash.

Niestety nagle (nie mam zupełnie pojęcia skąd) domyślna powłoka systemowa zmieniła się na sh - i przy wykonywaniu programów z poziomu Geany widzę jedynie:

sh-4.2$

i muszę ręcznym poleceniem uruchamiać każdorazowo skompilowany program. Szukałem i szperałem po wszystkich możliwych opcjach (zarówno w Geany jak i Konsole), aby przywrócić domyślną powłokę systemową, która była do tej pory (czyli Bash), tak jak to jest domyślnie, gdy uruchamiam Konsole - jednakże bez powodzenia. W opcjach aktualnego profilu (po wywołaniu Konsole przez Geany) jest takie oto polecenie wywołujące:

"/bin/sh ./geany_run_script.sh"

Problem jednak w tym, aby to sh zamienić domyślnie na bash. Jak mogę to zmienić? Wiem, że problem może wydawać się trywialny, ale jestem dopiero początkującym programistą i ledwie średnio-ogarniętym użytkownikiem Linuxa, toteż dlatego zwracam się o pomoc.

Z góry dziękuję za pomoc,

Pozdrawiam.

W Geany wejdź w Preferencje (Edycja -> Preferencje). Tam jest zakładka Terminal, i jest linijka do wpisania powłoki jakiej chcesz używać. Potem restart Geany. Mam ten sam system, to samo Geany, u mnie zmiana jest bezproblemowa.

Właśnie problem polega na tym, że w preferencjach nie mam takiej zakładki…

Wygląda to tak, jak na poniżej załączonym screenie:

52m2f.png

Wersja Geany, z której korzystam, to 1.22 (Tavira) - kompilacja 28 sierpnia 2012r.

Hmm… a masz zainstalowaną paczkę vte? (https://www.archlinux.org/packages/extra/x86_64/vte/)

U mnie opcje wyglądają tak:

3d2nF.png

Dzięki bardzo, zainstalowałem vte i teraz mi się to wszystko pojawiło :wink: Nie ukrywam, że takie rozwiązanie (konsola pod spodem) zadowala mnie bardziej, jednakże dalej jedna kwestia nie daje mi spokoju, ponieważ jeśli chcę uruchomić program w konsoli w nowym oknie, to dalej uruchamia się konsole wykorzystując powłokę sh - i to wszystko pomimo tego, że w ustawieniach w zakładce “Terminal” mam wpisaną powłokę /bin/bash. O co może chodzić?

Ta opcja w zakładce Terminal odnosi się do tej konsoli pod spodem.

A jak odpalasz Konsole, tak normalnie, to masz basha? Może w ustawieniach Konsole trzeba pogrzebać. Albo w w tym poleceniu, gdzie Geany odpala Konsole ze skompilowanym programem dodać parametr uruchamiający basha (http://pl.digipedia.org/man/doc/view/konsole.1/):

konsole -e /bin/bash

Albo użyć chsh, żeby zmienić domyślną powłokę dla użytkownika:

chsh -s /bin/bash user

Tak dokładnie, domyślnie mam zawsze basha. Jedynie Geany uruchamia mi Konsole w powłoce sh.

Próbowałem, jednakże wtedy pojawia się jeden problem - okienko konsoli zamyka się natychmiastowo po uruchomieniu i wykonaniu programu.

“Powłoka nie została zmieniona” - miałem i mam domyślnie ustawioną powłokę /bin/bash więc to niestety nie pomogło.

Cóż, to jedyne czego bym jeszcze spróbował to zainstalował jakiś gnome-terminal i spróbował tam, czy odpala się bash czy sh. Jeśli tak, to wyglądałoby na to, że Geany i Konsole są z jakiegoś powodu niekompatybilne ze sobą :wink: Potem wywalić gnome-terminal (po co trzymać te wszystkie zależności) i zainstalował np. urxvt do odpalania tych programów w oddzielnym okienku.