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/.
Strony: 1
W Artykułach jest tekst: http://dug.net.pl/tekst/224/zastapienie_ekranu_logo … utologowanie/
@mati75 opisuje w nim jak plik .xinitrc może uruchamiać kilka środowisk:
#!/bin/sh if [ -d /etc/X11/xinit/xinitrc.d ]; then for f in /etc/X11/xinit/xinitrc.d/*; do [ -x "$f" ] && . "$f" done unset f fi if [[ $1 == "fluxbox" ]] then exec startfluxbox elif [[ $1 == "spectrwm" ]] then exec spectrwm else echo "Choose a window manager" fi
Mam więc 2 pytania:
1) Jak przekazuje się mu zmienną? Czyżby tak: $startx fluxbox
2) Jak dostosować go do powłoki bash i debiana sid w mojej sytuacji, bo to co poniżej nie działa:
if [ -d /etc/X11/xinit/xinitrc ]; then for f in /etc/X11/xinit/xinitrc/*; do [ -x "$f" ] && . "$f" done unset f fi if [[ $1 == "openbox" ]] then exec ck-launch-session dbus-launch --sh-syntax --exit-with-session openbox-session elif [[ $1 == "i3" ]] then exec ck-launch-session dbus-launch --sh-syntax --exit-with-session i3 -c ~/.config/i3/config elif [[ $1 == "awesome" ]] then exec ck-launch-session dbus-launch --sh-syntax --exit-with-session awesome else echo "Choose a window manager" fi
Edit -------------------------------------------------
bash wskazywał na błędy z [[ i == sprawdzałem więc rózne wersje skryptu...
Ostatnio edytowany przez jacekz (2014-04-13 13:16:42)
Offline
Rzuć okiem (tylko celnie, żebyś oka bez potrzeby nie marnował) :D
http://forums.gentoo.org/viewtopic-t-950196.html
Może się przyda. ;)
Ostatnio edytowany przez Jacekalex (2014-04-13 14:18:35)
Offline
Spasiba, przydało się :)
Skrypt w .xinitrc:
session=${1:-openbox} case $session in openbox) exec ck-launch-session dbus-launch --sh-syntax --exit-with-session openbox-session;; i3) exec ck-launch-session dbus-launch --sh-syntax --exit-with-session i3 -c ~/.config/i3/config;; awesome) exec ck-launch-session dbus-launch --sh-syntax --exit-with-session awesome;; # No known session, try to run it as command *) exec $1;; esac
Wyboru dokonuje się np. tak: startx ~/.xinitrc i3
W celu "pełnej automatyki" w .profile umieściłem:
if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty1 ]; then TMOUT=3 # Prompt times out at three seconds. read -p " StartX (3 sec): (o)penbox (i)3 (a)wesome (n)oX " -n 1 s case "$s" in "o") exec startx ~/.xinitrc openbox &> /tmp/.xsession-errors ;; "i") exec startx ~/.xinitrc i3 &> /tmp/.xsession-errors ;; "a") exec startx ~/.xinitrc awesome &> /tmp/.xsession-errors ;; "n") echo "no X!" ;; *) exec startx ~/.xinitrc openbox &> /tmp/.xsession-errors esac fi
Ostatnio edytowany przez jacekz (2014-04-13 15:04:03)
Offline
U mnie w skrypcie się wykonywało ./skrypt fluxbox. Ja mam na stałe w wrzucone do .xinitrc:
export GTK2_RC_FILES="$HOME/.gtkrc-2.0" exec dbus-launch --sh-syntax --exit-with-session openbox-session
i dziala.
Offline
@mati75
podobnie wygladało to u mnie, gdy nie chciałem uruchamiać niczego poza openboxem.
Testując skrypty okazało się że mam problem z "zaborczymi" X-ami:
przy starcie wybierając "n" skrypt z .profile powinien jedynie wyswietlić "no X!" i pozostać w konsoli tty1. Jednak nadal stara sie uruchomić X-sy (i jesli nic nie zrobie to uruchamia openbox)
Dlaczego? Jak to zmienić?
Autologowanie mam wykonane tak:
/etc/inittab:
1:2345:respawn:/bin/login -f jacek tty1 </dev/tty1 >/dev/tty1 2>&1
Ostatnio edytowany przez jacekz (2014-04-13 18:45:55)
Offline
Strony: 1