Чи обов'язково клієнту X потрібен менеджер вікон для роботи?


32

Чи обов'язково клієнту X потрібен менеджер вікон для роботи? Чи може клієнт X працювати лише з сервером X?

Якщо клієнт X не має вікна , чи потрібен він може працювати менеджеру вікон?

Якщо клієнт X може працювати без вікна-менеджера, чи обов’язково у клієнта X немає вікна?

Спасибі.


4
Коли я вперше зіткнувся з X - тобто досить давно - факт, що вам не потрібен менеджер вікон, обговорювався в більшості вступних матеріалів. Здається, це не так у наші дні, але я вважаю, що хтось може подумати про це очевидним чи прикладом лінощів.
dmckee

11
@Tim: Ви, здається, були досить довгими, щоб знати, що низовий потік не призначений для передачі "ненависті", "зла", "жорстокості", "дискримінації" чи чогось подібного. Оголошення - це просто система оцінювання контенту , а деякий вміст є менш цінним, ніж інший контент. (Для запису я не спростовував це питання. Я вважаю, що це питання чудово.) Дивіться також: Чи можемо ми зробити це більш очевидним для нових користувачів, що опромінення на головному сайті не є образами і насправді може допомогти їм допомогти собі ? на Meta Stack Overflow.
Даніель Приден

5
@Tim Деякі ваші негативні запитання мені здаються не корисними. Користувацький інтерфейс (альт-текст кнопки) спонукає користувачів схиляти "не корисні" питання. Ненависть не є необхідним компонентом. Додавання невеликого натяку / твердження про те, що питання може бути потенційно використане в якомусь сценарії (навіть якщо воно дуже маргінальне / малоймовірне), здебільшого запобігає цій реакції ривок колін. Ваші запитання, які я бачив, надзвичайно схожі на те, що їм не вистачає будь-якого такого натяку / твердження.
kubanczyk

3
Тим, алмазні модератори мають доступ до деяких інструментів, що виявляють голосування шаблону. Позначте їх і попросіть їх переглянути. / мод на physics.se
dmckee

1
Частини вашого питання здаються неграматичними. Найгіршим правопорушником здається, що "чи може це працювати потрібен менеджер вікон?".
hkBst

Відповіді:


26

Ні. Добре написаним програмам не потрібен менеджер вікон.

Але деякі "сучасні" зламані програми не спрацюють без вікна-менеджера (наприклад, firefox та пропозиції щодо його адресного рядка, які не випадають [1]).

Багато інших додатків додатків не лише передбачають менеджер вікон, але й додають образи до травми, клацнувши, щоб зосередити диспетчера вікон. Наприклад, раніше було те, що будь-яка програма Java просто вкраде фокус на запуск.

Якщо ви хочете протестувати, встановіть Xephyr("вкладений" сервер X11), запустіть його Xephyr :1та запустіть програми DISPLAY=:1у своєму оточенні.

[1] "дивовижна панель" Firefox не відкриє панель пропозицій під час введення або натискання на кнопку історії, якщо не працює менеджер вікон. Меню автоматичного приховування також не працюватиме.


Чи існує відкрита помилка у firefox для проблеми, про яку ви згадали? Я думаю, що природа відкритого коду Firefox хотіла б вирішити помилку для цієї проблеми.
t3dodson

4
@ t3dodson Ви можете спробувати подати, але дуже сумнівно, що хтось потурбується переглянути виправлення виправлення. Запуск Firefox насправді не підтримується без вікна-менеджера, менеджера сеансів та останнім часом запущеного сервера pulseaudio. Звичайно, ви можете розщедритися, але необхідність підтримувати вилку
вогняного світла

Якщо будь-яка відповідь на цю тему не є повним, не згадуючи Ксефіра. +1
Rui F Ribeiro

38

Ні, вам не потрібно запускати менеджер вікон, щоб дозволити X-клієнту працювати. Деякі системи пропонують можливість просто запустити термінал при запуску, і з цього можна запустити додаткові програми, включаючи менеджери вікон. Деякі установки кіоску, які хочуть запустити лише одну програму, не потребують віконного менеджера. Деякі реалізації X для Windows для Microsoft уникають диспетчера вікон X, дозволяючи ОС керувати вікнами.

Без віконного менеджера, як правило, потрібно вказати геометрію програм, щоб у вас не було все розміщено у верхньому лівому куті.

У X менеджер вікон - це ще один клієнт X. На той час це було незвично, але полегшували роботу різні менеджери вікон.

Ще один спосіб розглянути питання - помітити, що ви можете змінювати менеджерів вікон на ходу, тому між першим зупиняється і другим, який приймає контроль, є час, але оскільки всі ваші програми не виходять з ладу, вони повинні бути в змозі працювати без.


2
Підказка: існує інструмент під назвою xwit, який дійсно допомагає при експерименті з конфігураціями без wm.
rackandboneman

7

Менеджер вікон - це зручність для користувачів.

У добрі ^ Wbad старі часи я мав ~/.Xclientsфайл, який читав:

#!/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

Цей файл буде працювати , коли я почав X з startx. Коли цей сценарій закінчиться, X-сервер вимкнеться.

Зверніть увагу на останній рядок: exec .../fvwm. Це рядок, який запустив мій віконний менеджер (fvwm). Всі попередні додатки ( xv, xterm, xclock, xscreensaver) були запущені до початку віконного менеджера. Оскільки виклик до fvwmбув останнім рядком і не ставився на задній план, це означало, що після його fvwmприпинення, X закриється.

У запуску X навіть був стандартний режим "назад" ... якщо не було файлів конфігурації, тоді запустіть X з одного xtermзапуску. Закриття, xtermяке закінчило б сеанс X.


У чому полягала перевага у відтворенні fvwm?
Алекс Хайнал

1
Нам потрібен сценарій, щоб він не завершувався, тому що якщо він є, то сервер X припиняється; не підтримуючи фон fvwm(і запустивши його exec), ми гарантуємо, що все ще існує процес, що запобігає відключенню сервера X. Здійснення останнього процесу fvwmдозволяє елементу меню "вихід" працювати так, як очікувалося.
Стівен Харріс

Зрозумів. Минув час, коли я зробив дуже низький рівень з X. Потрібно сказати, хоча fvwm 2 - один з двох моїх улюблених менеджерів вікон (інший - kwin 3).
Алекс Хайнал

У моєму випадку fvwm-1.24rбув улюбленим менеджером вікон :-)
Стівен Гарріс

Я чую тебе про це. Мені здається, я пам'ятаю, що v2 був більш настроюваним, ніж v1, хоча (з усіма параметрами конфігурації в одному текстовому файлі та завантажуваним на ходу?). Дуже легка вага, особливо за сьогоднішніми мірками. Я востаннє використовував його щодня в IIRC епохи P-II.
Алекс Хайнал

6

Щоб додати інші відповіді, я розробив і випустив додаток з відкритим кодом, який працює без вікна-менеджера (це означає, що ви можете запустити його безпосередньо з xinitrc). Існує кілька додаткових кроків, які програма повинна зробити в цьому випадку, окрім керування геометрією та Z-порядком своїх діалогів, але це цілком керовано.


1

Тут є багато хороших детальних відповідей. Ось простий чіткий відповідь.

Чи обов'язково клієнту X потрібен менеджер вікон для роботи?

Ні: Але без того, якщо ви будете намагатися керувати своїми вікнами (переміщення, повторне розмір, опускання, підняття тощо). Є й інший інструмент, який може це зробити, якщо вам це потрібно.

Чи може клієнт X працювати лише з сервером X?

Так

Якщо клієнт X не має вікна, чи потрібен він може працювати менеджеру вікон?

Якщо у нього немає вікон, то не повинно бути жодної сторони, яка не має менеджера вікон.

Якщо клієнт X може працювати без вікна-менеджера, чи обов’язково у клієнта X немає вікна?

Ні: він може мати вікна.

Спробуйте це.

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

то в новому xtermтипі fvwm.

Вам може знадобитися встановити vncserver, ssvncі fvwm, в першу чергу.


1

Так, клієнт X може працювати лише з сервером X. Як приклад, я навожу своїм віртуальним машинам власну віртуальну консоль на хості, як це.

# 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

Команда "startx" запускає сервер Xorg X на дисплеях: 4 та: 5, лише клієнт-переглядач як клієнт.

"CentOS" і "Windows" - це імена, які я дав своїм віртуальним машинам, коли їх встановлював. -k перемикач для вирт-перегляду робить повний екран з мінімальним керуванням, так що кожна віртуальна машина з'явиться на володіння машиною , поки не натиснути CTRL-ALT-Fn , щоб переключитися на іншу віртуальну консоль.

Звичайно, CentOS працює з диспетчером дисплеїв та менеджером вікон всередині віртуальної машини, але це не має зв'язку з сервером X, який працює на хості.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.