Чи обов'язково клієнту 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.