Czy klient X koniecznie potrzebuje menedżera okien do działania?

32

Czy klient X koniecznie potrzebuje menedżera okien do działania? Czy klient X może współpracować tylko z serwerem X?

Jeśli klient X nie ma okna , to czy może on działać, potrzebuje menedżera okien?

Jeśli klient X może pracować bez menedżera okien, czy klient X niekoniecznie nie ma okna?

Dzięki.

Tim
źródło
4
Kiedy po raz pierwszy spotkałem X - to jest dość dawno temu - w większości materiałów wprowadzających dyskutowano o tym, że nie potrzebujesz menedżera okien. W dzisiejszych czasach nie wydaje się tak, ale przypuszczam, że ktoś mógłby pomyśleć o tym oczywistym lub przykładzie lenistwa.
dmckee
11
@Tim: Wydaje się, że jesteś na tyle długo, że powinieneś wiedzieć, że głosowanie nie ma na celu komunikowania „nienawiści”, „zła”, „okrucieństwa”, „dyskryminacji” lub czegoś podobnego. Downvote to po prostu system oceny treści , a niektóre treści są mniej wartościowe niż inne. (Dla przypomnienia, nie głosowałem za tym pytaniem: myślę, że to pytanie jest świetne.) Zobacz także: Czy możemy sprawić, że nowi użytkownicy bardziej oczywiste są, że opinie negatywne na stronie głównej nie są obelgami i w rzeczywistości mogą im pomóc ? w przypadku przepełnienia stosu meta.
Daniel Pryden,
5
@Tim Niektóre z Twoich zaniżonych pytań wydają mi się nieprzydatne. Interfejs użytkownika (tekst alternatywny przycisku) zachęca użytkowników do głosowania na „nieprzydatne” pytania. Nienawiść nie jest niezbędnym elementem. Dodanie małej podpowiedzi / stwierdzenia, że ​​pytanie może być potencjalnie wykorzystane w niektórych scenariuszach (nawet jeśli jest bardzo marginalne / nieprawdopodobne), w większości zapobiegłoby reakcji szarpnięcia kolana. Wasze pytania, które widziałem, są niezwykle podobne pod tym względem, że brakuje im takich wskazówek / zapewnień.
kubańczyk
3
Tim, moderatorzy diamentów mają dostęp do niektórych narzędzi wykrywających głosowanie według wzorca. Oflaguj je i poproś, aby się przyjrzeli. / mod on physics.se
dmckee
1
Części twojego pytania wydają się nie gramatyczne. Najgorszym sprawcą wydaje się być „czy to może działać, potrzebuje menedżera okien?”.
hkBst

Odpowiedzi:

26

Nie. Dobrze napisane aplikacje nie potrzebują menedżera okien.

Ale niektóre „nowoczesne” zepsute aplikacje nie będą działały poprawnie bez menedżera okien (np. Firefox i sugestie paska adresu, które nie będą rozwijane [1]).

Wiele innych akapitowych aplikacji nie tylko zakłada menedżera okien, ale aby dodać zniewagę do obrażeń, menedżer okien „ kliknij, aby ustawić ostrość” . Na przykład kiedyś było tak, że każda aplikacja Java po prostu ukradła nacisk na uruchomienie.

Jeśli chcesz przetestować, zainstaluj Xephyr(„zagnieżdżony” serwer X11), uruchom go Xephyr :1, a następnie uruchom aplikacje DISPLAY=:1w swoim środowisku.

[1] „niesamowity pasek” przeglądarki Firefox nie otworzy okienka sugestii po wpisaniu lub kliknięciu przycisku historii, chyba że uruchomiony jest menedżer okien. Menu automatycznego ukrywania również nie będzie działać.

mosvy
źródło
Czy w Firefoksie jest otwarty błąd dotyczący wspomnianego problemu? Myślę, że natura open source Firefoksa byłaby skłonna zaakceptować poprawkę tego problemu.
t3dodson
4
@ t3dodson Możesz spróbować przesłać jedną, ale bardzo wątpliwe jest, aby ktokolwiek zechciał przejrzeć łatkę naprawiającą to. Uruchamianie firefoxa nie jest tak naprawdę obsługiwane bez menedżera okien, menedżera sesji i ostatnio działającego serwera pulseaudio. Oczywiście możesz go rozwidlić, ale utrzymanie widelca do
lisów ogniowych
Imo jakakolwiek odpowiedź na ten temat nie jest kompletna bez wspomnienia o Xephyr. +1
Rui F Ribeiro
38

Nie, nie musisz uruchamiać menedżera okien, aby umożliwić klientowi X działanie. Niektóre systemy oferują opcję uruchamiania terminala podczas uruchamiania, a następnie można uruchamiać dodatkowe programy, w tym menedżery okien. Niektóre konfiguracje kiosków, które chcą uruchamiać tylko jedną aplikację, nie wymagają menedżera okien. Niektóre implementacje X dla Windows Microsoftu unikają menedżera X Window, pozwalając OSowi zarządzać oknami.

Bez menedżera okien zwykle musisz określić geometrię programów, aby nie mieć wszystkiego umieszczonego w lewym górnym rogu.

W X menedżer okien jest tylko kolejnym klientem X. Było to w tym czasie niezwykłe, ale ułatwiło posiadanie różnych menedżerów okien.

Innym sposobem spojrzenia na pytanie jest zaobserwowanie, że możesz zmieniać menedżery okien w locie, więc jest czas między pierwszym zatrzymaniem a drugim przejęciem kontroli, ale ponieważ wszystkie twoje aplikacje nie ulegają awarii, muszą być w stanie pracować bez.

Ikar
źródło
2
Wskazówka: istnieje narzędzie o nazwie xwit, które naprawdę pomaga podczas eksperymentowania z konfiguracjami bez WM.
rackandboneman
7

Menedżer okien to wygoda dla użytkowników.

W dawnych czasach Wbad miałem ~/.Xclientsplik o treści:

#!/bin/sh

HOST=`uname -n | sed 's/\..*$//'`

xv -root -rmode 5 $HOME/misc/millennium/theme/Wallpaper.gif -quit &

xterm -geometry 80x24+0+85 \#52x71-104+0 -n $HOST -T $HOST &
xterm -geometry 80x24+510+429 \#52x71-52+0  -n $HOST -T $HOST &
xclock -digital -update 1 -geometry +1059+982 &
xscreensaver -nosplash &
exec /usr/local/lib/X11/fvwm/fvwm

Plik ten będzie uruchamiany, gdy zacząłem X z startx. Po zakończeniu tego skryptu serwer X zostanie zamknięty.

Należy zwrócić uwagę na ostatnią linię: exec .../fvwm. To jest linia, która uruchomiła mój menedżer okien (fvwm). Wszystkie dotychczasowe aplikacje ( xv, xterm, xclock, xscreensaver) zostały uruchomione przed rozpoczęciem menedżer okien. Ponieważ wezwanie do fvwmbyło ostatnią linią i nie było w tle, oznaczało to, że po fvwmzakończeniu X zamknie się.

Uruchamianie X miało nawet domyślną opcję „cofania się” ... jeśli nie było plików konfiguracyjnych, uruchom X przy jednym xtermuruchomieniu. Zamknięcie xtermto zakończy sesję X.

Stephen Harris
źródło
Jaka była zaleta braku tła fvwm?
Alex Hajnal
1
Potrzebujemy, aby skrypt się nie zakończył, ponieważ jeśli tak się stanie, serwer X się kończy; nie fvwmuruchamiając tła (i uruchamiając go exec) zapewniamy, że nadal istnieje proces uniemożliwiający zamknięcie serwera X. Wykonanie tego ostatniego procesu fvwmpozwala, aby element menu „exit” działał zgodnie z oczekiwaniami.
Stephen Harris
Rozumiem. Minęło trochę czasu, odkąd grałem dużo na niskim poziomie z X. Muszę powiedzieć, że fvwm 2 jest jednym z moich dwóch ulubionych menedżerów okien (drugim jest kwin 3).
Alex Hajnal
W moim przypadku fvwm-1.24rbył moim ulubionym menedżerem okien :-)
Stephen Harris
Słyszę cię na ten temat. Wydaje mi się, że pamiętam, że wersja 2 była bardziej konfigurowalna niż wersja 1 (ze wszystkimi opcjami konfiguracji w jednym pliku tekstowym i do ponownego załadowania w locie?). Również dość lekki, szczególnie jak na dzisiejsze standardy. Ostatnio używałem go codziennie w erze P-II IIRC.
Alex Hajnal
6

Aby dodać do innych odpowiedzi, opracowałem i wydałem aplikację open source, która działa bez menedżera okien (co oznacza, że ​​możesz uruchomić ją bezpośrednio z xinitrc). Jest kilka dodatkowych kroków, które aplikacja powinna zrobić w tym przypadku oprócz zarządzania geometrią i kolejnością Z okien dialogowych, ale jest to całkowicie możliwe do zarządzania.

George Y.
źródło
1

Istnieje wiele dobrych szczegółowych odpowiedzi tutaj. Oto prosta, jednoznaczna odpowiedź.

Czy klient X koniecznie potrzebuje menedżera okien do działania?

Nie: Ale bez tego, jeśli będziesz miał problemy z zarządzaniem swoimi oknami (przenoszenie, zmiana rozmiaru, opuszczanie, podnoszenie itp.). Istnieją inne narzędzia, które mogą to zrobić, jeśli są potrzebne.

Czy klient X może współpracować tylko z serwerem X?

tak

Jeśli klient X nie ma okna, to czy może on działać, potrzebuje menedżera okien?

Jeśli nie ma okien, to nie powinno być wady braku menedżera okien.

Jeśli klient X może pracować bez menedżera okien, czy klient X niekoniecznie nie ma okna?

Nie: może mieć okna.

Spróbuj tego.

DISPLAY=:21
vncserver -localhost -geometry 1920x1080  -SecurityTypes None $DISPLAY &
ssvnc $DISPLAY
xterm &

następnie w nowym xtermtypie fvwm.

Być może trzeba zainstalować vncserver, ssvnci fvwm, jako pierwszy.

ctrl-alt-delor
źródło
1

Tak, klient X może pracować tylko z serwerem X. Jako przykład daję moim maszynom wirtualnym własną wirtualną konsolę na hoście, w ten sposób.

# Press CTRL-ALT-F5, login and enter this command:
startx /usr/bin/virt-viewer -a -k -r -w -c qemu:///system CentOS -- :4

# Press CTRL-ALT-F6, login and enter this command:
startx /usr/bin/virt-viewer -a -k -r -w -c qemu:///system Windows -- :5

Komenda „startx” uruchamia serwer Xorg X na ekranach: 4 i: 5 tylko z virt-viewer jako klientem.

„CentOS” i „Windows” to nazwy, które nadałem moim maszynom wirtualnym podczas ich instalacji. -K przełącznik virt-widza sprawia, że pełny ekran przy minimalnych kontroli, więc każda maszyna wirtualna wydaje się właścicielem maszyny aż naciśnij Ctrl-Alt-Fn, aby przełączyć się na inną konsolę wirtualną.

Oczywiście CentOS uruchamia menedżera wyświetlania i menedżera okien na maszynie wirtualnej, ale nie ma połączenia z serwerem X działającym na hoście.

Ken Jackson
źródło