Strona 1 z 1

[bash] Uruchamianie aplikacji innym menadżerem okien

: 01 lip 2010, 15:14
autor: vlogical
Cóż temat może brzmi dość dziwnie, ale już tłumaczę...

Na co dzień używam GNOME z Compizem. Niestety ze względu na duże obciążenie karty graficznej i procesora (compiz), wiele aplikacji (a zwłaszcza gier :) ) nie działa jak powinno. Oczywiście można za każdym razem wyłączać compiza (co przy gnomie mimo wszystko dużo nie daje), lub zmieniać środowisko na jakieś lżejsze i tam uruchamiać aplikację. Do tej pory korzystałem z tej drugiej opcji, ale stwierdziłem, że mi się nie chce za każdym razem kiedy chcę odpalić coś bardziej obciążającego system zmieniać środowiska graficznego, wiec postanowiłem to nieco zautomatyzować... I tu zaczynają się schody :)

Moja koncepcja (chodzi rzecz jasna o skrypt):
Tworzę skrypt do którego przekazuję w parametrach ścieżkę do programu i parametry z jakimi program ma się uruchomić. Skrypt wylogowuje mnie z gnome (ew. zapisuje sesję, ale tego być nie musi) i automatycznie loguje do fluxboxa, gdzie odpala żądaną aplikację. Kiedy aplikacja zakończy działanie skrypt wylogowuje mnie z flux'a i loguje do gnome (ew. przywraca sesję)

Ma ktoś może jakieś pomysły?
Nie proszę o gotowe rozwiązania, tylko o jakieś wskazówki, albo linki do stronek - mogą być angielsko- albo niemieckojęzyczne (od jakiegoś czasu szukam w necie, ale wujek google jeszcze mi nic ciekawego nie pokazał :) )

Z góry dzięki za pomoc

Odp: [bash] Uruchamianie aplikacji innym menadżerem okien

: 01 lip 2010, 15:49
autor: Hauleth
A nie prościej zmienić aktywatory na metacity --replace && <gra> && compiz --replace

Odp: [bash] Uruchamianie aplikacji innym menadżerem okien

: 01 lip 2010, 15:54
autor: vlogical
Hauleth pisze:A nie prościej zmienić aktywatory na metacity --replace && <gra> && compiz --replace
fakt, niegłupie... ale chciałem sobie nieco skomplikować życie, trochę się pobawić i może przy okazji czegoś nauczyć :)

Odp: [bash] Uruchamianie aplikacji innym menadżerem okien

: 03 lip 2010, 11:42
autor: azhag
Ja bym po prostu uruchomił inną sesję X.

Kod: Zaznacz cały

#!/bin/sh
[ -e ~/.xinitrc ] && XINITRC_EXISTS=1
[ -n "$XINITRC_EXISTS" ] && mv -f ~/.xinitrc ~/.xinitrc.bak
echo "exec startfluxbox" > ~/.xinitrc   # aczkolwiek uruchamianie Fluxboksa uważam
                                        # za zbędne, można po prostu uruchomić program
                                        # w X: echo "exec program" > ~/.xinitrc
startx -- :1
[ -n "$XINITRC_EXISTS" ] || rm -f ~/.xinitrc
[ -n "$XINITRC_EXISTS" ] && mv -f ~/.xinitrc.bak ~/.xinitrc
Aczkolwiek mam drobne problemy z uruchomieniem drugiej sesji X z działającego X jako ten sam użytkownik (problem nie występuje po przelogowaniu lub z TTY), jeszcze to trzeba dopracować ;)