Сидіти на одному комп’ютері та робити це з іншого віртуального терміналу, ніж працює X-сервер, не працює.
Q-108: Я використовую віртуальні термінали Linux (VT) для впровадження «Швидкого переключення користувачів» між сеансами користувачів (наприклад, Бетті знаходиться на Ctrl-Alt-F7, Боббі - на Ctrl-Alt-F8, а Sid - на Ctrl-Alt -F1: вони використовують ці натискання клавіш для перемикання між сеансами.) Яким чином перегляд у переглядачі VNC, який підключається до x11vnc, або повністю чорний, не оновлюється, або пікселі змішуються, якщо в сеансі X не встановлено x11vnc активний VT?
Це, мабуть, пов'язане з тим, як програми (X-сервер в цьому випадку) повинні "грати добре", якщо вони не є на активному VT (іноді його називають VC для віртуальної консолі). Тобто вони не повинні читати з клавіатури або мишкою або керуйте дисплеєм відео, якщо у них немає активної VT. Зважаючи на те, що, як видається, виклик XGetImage () повинен у кінцевому рахунку отримати дані фреймбуферів із самого відео апаратного забезпечення, було б сенсом опитування x11vnc не працюватиме, якщо X сеанс не мав активного управління VT.
Здається, це не простий спосіб подолати це. Навіть xwd (1) не працює в цьому випадку (спробуйте.) Щось потрібно зробити на нижчому рівні, скажімо на сервері XFree86 / Xorg X. Крім того, використання Shadow Framebuffer (копія відеокадрівника зберігається в основній пам'яті) не вирішує проблему (востаннє перевірено 2007 р.)
Якщо на робочій станції ніхто не сидить, і ви просто хочете віддалено переключити VT на той, що пов’язаний з вашим X-сеансом (щоб x11vnc міг правильно опитувати його), можна скористатися командою chvt (1), наприклад "chvt 7" для VT №7.