Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Chcę zrezygnować z menedżerów logowania typu GDM i logować się z konsoli, ale chce mieć przy tym wybór środowiska graficznego do którego chcę się zalogować, np, MATE lub LXDE. Jak to zrobić?
Offline
http://fluxboxpl.org/portal/Automatyczny_start_serwera_X
do tego edycja ~/.xinitrc
Offline
W katalogu domowym nie ma nigdzie plików .xinitrc ani .bash_profile. Nie chodzi mi o autostart X'ów, chcę mieć po prostu wybór środowiska graficznego do którego się zaloguje, np wydać polecenie startx z opcją startowania MATE lub w ogóle jakiś sposób abym mógł wybrać środowisko graficzne.
Ostatnio edytowany przez macios4x (2012-12-16 18:50:05)
Offline
if [[ $1 == "fluxbox" ]] then exec startfluxbox elif [[ $1 == "spectrwm" ]] then exec spectrwm else echo "Choose a window manager" fi
Offline
Więc jak to wygląda w praktyce? Żeby mieć wybór środowiska muszę najpierw zmodyfikować plik .xinitrc? A nie można użyć jakiegoś skryptu aby móc wybrać do jakiego chcę się zalogować?
Offline
Powyższe zdaje się to robić właśnie.
Using this example you can start fluxbox or spectrwm with the command xinit fluxbox or xinit spectrwm.
Sam nie używam, także dokładniej nie pomogę niestety.
Offline
Osobiście ustawiam sobie domyślne środowisko graficzne (jako root) przy pomocy narzędzia update-alternatives np.
update-alternatives --config x-window-manager lub update-alternatives --config x-session-manager
przy czym x-session-manager zdaje się nadpisywać ustawienia x-window-manager.
Można też ręcznie np. poprzez wydanie polecenia (jako zwykły użytkownik):
startx startfluxbox -- :0
jednak tak uruchomione środowisko graficzne u mnie nie do końca zachowuje się prawidłowo.
Offline
ArnVaker napisał(-a):
Powyższe zdaje się to robić właśnie.
Using this example you can start fluxbox or spectrwm with the command xinit fluxbox or xinit spectrwm.
Sam nie używam, także dokładniej nie pomogę niestety.
Zatem jeśli chcę korzystać z MATE lub LXDE to poniższy kod jest prawidłowy?:
if [[ $1 == "mate" ]] then exec startmate elif [[ $1 == "lxde" ]] then exec lxde else echo "Choose a window manager" fi
Czy poniższe polecenia są prawidłowe?:
update-alternatives --config mate-session lub update-alternatives --config lxde
Offline
Nie wiem jakimi poleceniami odpala się prawidłowo MATE oraz LXDE z wiersza poleceń. Poza tymi poleceniami chyba trzeba by dać tam (po exec) jeszcze uruchamianie sesji consolekit żeby nie było problemów z montowaniem i wyłączaniem kompa. Niestety dawno się tym nie bawiłem i nie pamiętam już, osobiście używam starej wersji gdm jeszcze. ;)
Offline
macios4x napisał(-a):
Czy poniższe polecenia są prawidłowe?:
Kod:
update-alternatives --config mate-session lub update-alternatives --config lxde
Nie są prawidłowe.
Za pomocą nich określasz jakie środowisko domyślnie zostanie uruchomione po wpisaniu w konsoli startx.
Jeśli przykładowo wydasz polecenie (jako root) `update-alternatives --config x-session-manager` wyświetli ci się lista dostępnych (zainstalowanych) menedżerów sesji, z którego wybierasz ten który chcesz aby się uruchamiał domyślnie. Ustawienia są dla wszystkich użytkowników.
Jeśli chcesz to robić ręcznie z konta zwykłego użytkownika, zainteresuj się polecaniami startx lub xinit. Przykładowo gdybym chciał uruchomić fluxboksa na ekranie 2 wydałbym polecenie:
startx `exec startfluxbox` -- :2
bądź też poprzez umieszczenie polecenia`exec startfluxbox` w .xinitrc, na podobnej zasadzie działa wyżej wspomniany skrypt. Ale to już sam musisz go napisać.
Ostatnio edytowany przez pioki (2012-12-16 19:59:16)
Offline
Nie prościej napisać skrypta który podmieni ~/.xinitrc na taki w którym będzie polecenie do odpalenia danego środowiska ?
Offline
Zazwyczaj korzystam z MATE, a czasami tylko LXDE. Można zatem za pomocą polecenia:
update-alternatives --config mate-session
(o ile jest ono prawidłowe?) logować się do tego domyślnego środowiska a gdybym chciał go zmienić na LXDE to:
update-alternatives --config lxde
o ile ono również jest prawidłowe?
A jeżeli chodzi o sam wybór przy logowaniu to czy poniższe polecenia są prawidłowe po zalogowaniu do konsoli?:
startx mate-session startx lxde
Offline
Źle zrozumiałeś.
Wybierasz sobie sesję:
update-alternatives --config x-session-manager
Natomiast takie coś jest bez sensu:
update-alternatives --config mate-session
Chyba nie masz żadnych alternatywnych MATE.
Offline
macios4x napisał(-a):
Zazwyczaj korzystam z MATE, a czasami tylko LXDE. Można zatem za pomocą polecenia:
Kod:
update-alternatives --config mate-session(o ile jest ono prawidłowe?) logować się do tego domyślnego środowiska a gdybym chciał go zmienić na LXDE to:
Kod:
update-alternatives --config lxdeo ile ono również jest prawidłowe?
Oba nie są prawidłowe. Przeczytaj jeszcze raz moje poprzednie posty, ja takich poleceń na pewno nie podałem.
Jeśli domyślnym środowiskiem ma być mate, ustawiłbym je jako domyślnie jako root wydając polecenie:
update-alternatives --config x-session-manager
i z wyświetlonej listy wybrałbym mate.
To środowisko uruchomiałoby się po wpisaniu startx.
Natomiast od czasu do czasu lxde uruchamiałbym poleceniem:
startx `exec startlxde`
Ostatnio edytowany przez pioki (2012-12-16 20:11:44)
Offline
Za chwilę przyjdziesz ,ze Ci napędów nie montuje. :)
Offline
Już rozumiem, zatem bez zbędnych kombinacji postawię na domyślne środowisko graficzne które w razie potrzeby można zmienić na inne. Podaję kod:
maciek@debian:~$ update-alternatives --config x-session-manager Są 4 dostępne alternatywy dla x-session-manager (dostarczające /usr/bin/x-session-manager). Wybór Ścieżka Priorytet Status ------------------------------------------------------------ * 0 /usr/bin/startlxde 50 tryb auto 1 /usr/bin/lxsession 49 tryb ręczny 2 /usr/bin/mate-session 30 tryb ręczny 3 /usr/bin/openbox-session 40 tryb ręczny 4 /usr/bin/startlxde 50 tryb ręczny Proszę wcisnąć Enter, aby pozostawić bieżący wybór[*]; albo wpisać wybrany numer:
Offline
Daj spokój z tymi alternatywami.
Jeśli tak chcesz jak wyżej piszesz to o wiele łatwiej użyć takiego ~/.xinitrc
exec ck-launch-session dbus-launch --sh-syntax --exit-with-session mate-session #exec ck-launch-session dbus-launch --sh-syntax --exit-with-session startlxde
Tylko przesuniesz komentarz w tym pliku.
Oczywiscie można napisać wda skrypty które to zrobią automatycznie.
Wowczas poleceniem do zmiany srodowiska będzie np mate lub lxde.
Offline
A po kiego grzyba w kółko podmieniać xinitrc, jeśli mona wskazać polecenie przy uruchomieniu startx czy xinit.
Np u mnie bez problemu i .xinitrc poszlo tak:
xinit `which gnome-sesion` -- :2
Po prostu, żeby xinit załapał, o co chodzi, trzeba mu podać pełną scieżkę do pliku odpalającego środowisko graficzne.
Wykonał naprawdę (uwzględniając wynik which)
xinit /usr/bin/gnome-session -- :2
Wystarczy to w skrypcie obudować funkcją np case lub if/elif, żeby wybierać środowiska do woli (tak, jak na przywołanym wiki Archa).
Przy okazji trzeba w takim skrypcie dodać dla niektórych środowisk ustawić zmienne, potrzebne do prawidłowego działania.
Np dla Gnome2 - które używam:
export XDG_MENU_PREFIX=gnome- export XDG_CONFIG_DIRS=/etc/xdg
Pozdrawiam
;-)
Ostatnio edytowany przez Jacekalex (2012-12-16 20:19:24)
Offline
A sesja consolekit sie sama odpali ?
Offline
Ustawiłem domyslne środowisko MATE, odinstalowałem GDM i system uruchamia się o kilka sekund szybciej bez GDM. Nie ma żadnych problemów z logowaniem jak również z programami startowymi. Ogólnie od momentu uruchamiania systemu do "promptu" logowania mija zaledwie 9-11 sekund, więc nie tak dużo. Do tej pory, gdy logowałem się z GDM trwało to znacznie dłużej.
Ostatnio edytowany przez macios4x (2012-12-16 20:27:15)
Offline
RAM jest po to żeby go używać ;)
Ja włączam laptopa raz w tygodniu i te kilka sekund nie ma znaczenia.
Zamiast gdm można użyć lżejszych: slim, lightdm, xdm.
Offline
A w skrypcie, jak masz funkcję case, lub if, to jaki problem dodać polecenia odpalające consolekit, dbusa, i ekspres do kawy?
Nawet, jakby większa akcja była do każdego środowiska, to przecież bash obsługuje funkcje, a jakby bash nie dał rady (w co wątpię), to można perlem, ten na 1000% da radę.
Nawiasem pisząc, na wiki Archa proponują .xinitrc potraktować jako skrypt powłoki, i umieścić tam całą wiązankę rozmaitych ifów.
https://wiki.archlinux.org/index.php/Xinitrc
Więc nie trzeba nic modyfikować, nie trza podmieniać pliku, starczy trochę rzeźbienia. ;)
Początek rzeźbienia może wyglądać tak:
http://jacekalex.sh.dug.net.pl/mstartx
Do tego funkcja case do wyboru środowiska (z przodu), i dla poszczególnych środowisk odpowiednie funkcje uruchamiające ustawienie zmiennych i odpalenie odpowiedniego polecenia lub poleceń.
Trochę zabawy, ale wykonalne.
Pozdrawiam
;-)
Ostatnio edytowany przez Jacekalex (2012-12-17 01:16:06)
Offline
Jacekalex napisał(-a):
....
Zgadza się.
Twoje zaś przykłady tego nie zawierały.
Offline
Bo nie che mi się rzeźbić w niedzielę wieczorkiem, dzień święty trza święcić odpoczynkiem :D
Ten skrypt pochodzi z książki wydanej w 2005 - "100 sposobów na Linux" - z Helionu, jak będzie potrzeba, można do niego conieco dorzeźbić. :D
Offline
macios4x dziwnie kombinujesz. Są inne dobre lekkie menadżery logowania jak np. lxdm, xdm, slim. W XDM spokojnie można dorobić przycisk i skrypcik w bashu, który by to realizował. Tak to po odpaleniu w konsoli musisz jeszcze czekać na uruchomienie się Xów. Ekonomiczniej/wygodniej byłoby włączyć Xy przed zalogowaniem, wybrać myszką środowisko.
btw jak zależy Ci na szybkości, wydajności itd.. zainteresuj się openbox, fluxbox, tint2, conky, wbar itd...
Ostatnio edytowany przez dominbik (2012-12-16 22:29:24)
Offline