зупинка / старт gui на debian


3

Я хотів би запустити Debian без GUI, а потім просто введіть команди, щоб запустити потрібні програми ( які знаходяться на моїй локальній машині ), наприклад

$ chromium-browser &

Я вже роблю подібну річ під час роботи sshз іншими машинами в локальній мережі - це зручно, якщо мені потрібно візуалізувати дані CSV, наприклад в soffice. На даний момент у мене встановлений робочий стіл gnome та Debian 7.

Я знайшов деякі вказівки щодо відключення графічного інтерфейсу при запуску з Debian , проте я неохоче намагаюся їх випробувати, боюсь заблокувати використання веб-браузера, як тільки це зробити (мені знадобиться, щоб звернутися за допомогою до браузера, якщо я застрягли).

Мені було цікаво, чи можу я тимчасово перевірити метод запуску GUI на одному з інших терміналів (наприклад ctrl+alt+f1), щоб побачити, чи є проблеми? Чи буде це працювати? Чи буде це еквівалентно запуску GUI під час завантаження без GUI?

Якщо це можливо, будь ласка, хтось може надати повну інструкцію щодо:

  • включення GUI на терміналі, f1щоб я міг запускати програми gui (не показуючи повний інтерфейс робочого столу)
  • вимкнення інтерфейсу інтерфейсу робочого столу під час завантаження

Очевидно, мені потрібно буде запустити X11, щоб завантажити програми GUI - це добре, але я хочу перейти в текстовий режим, а потім просто виконати програми GUI за необхідності.

робити деякі тести на ubuntu 12.04 virtualbox vm (сподіваємось, не надто відрізняється від debian 7?) ...

$ ps aux | grep gdm
# *blank*
$ ps aux | grep kdm
# *blank*
$ ps aux | grep lightdm
root      1225  0.0  0.0 270664  3500 ?        Ssl  12:43   0:00 lightdm
root      1234  1.9  2.2 236564 112276 tty7    Ss+  12:43   0:01 /usr/bin/X :0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch -background none
root      1382  0.0  0.0 156772  3572 ?        Sl   12:43   0:00 lightdm --session-child 12 19
$ sudo update-rc.d lightdm disable
update-rc.d: warning: /etc/init.d/lightdm missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
 Disabling system startup links for /etc/init.d/lightdm ...
 Removing any system startup links for /etc/init.d/lightdm ...
   /etc/rc0.d/K20lightdm
   /etc/rc1.d/K20lightdm
   /etc/rc2.d/K80lightdm
   /etc/rc3.d/K80lightdm
   /etc/rc4.d/K80lightdm
   /etc/rc5.d/K80lightdm
   /etc/rc6.d/K20lightdm
 Adding system startup for /etc/init.d/lightdm ...
   /etc/rc0.d/K20lightdm -> ../init.d/lightdm
   /etc/rc1.d/K20lightdm -> ../init.d/lightdm
   /etc/rc6.d/K20lightdm -> ../init.d/lightdm
   /etc/rc2.d/K80lightdm -> ../init.d/lightdm
   /etc/rc3.d/K80lightdm -> ../init.d/lightdm
   /etc/rc4.d/K80lightdm -> ../init.d/lightdm
   /etc/rc5.d/K80lightdm -> ../init.d/lightdm
$ sudo shutdown -r 0

і gui зберігається і знову працює після перезавантаження! тож це явно не мало ефекту диз. проте:

$ sudo /etc/init.d/lightdm stop

вбиває гуї. перехід до tty2 (натискання ctrl+alt+f2) та спроба відкрити firefox:

$ firefox &
Error: no display specified

тому намагаючись вказати дисплей:

$ export DISPLAY='0.0'
$ firefox &
Error: cannot open display: 0.0

і тепер я застряг. я все ще можу повернути gui ctrl+alt+f7, ввівши в tty2 наступне:

$ sudo /etc/init.d/lightdm start

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

випробування деяких речей у відповіді золотоногих

$ sudo /etc/init.d/lightdm stop
$ echo "#!/bin/bash" > ~/.xinitrc
$ echo "exec firefox" >> ~/.xinitrc
$ xinit

це робить саме те, що я хочу :)


Коли ви SSH в іншу машину і запускаєте клієнтський процес X на цій машині, у вас, ймовірно, увімкнено переадресацію SSH X11, щоб він використовував X-сервер на локальній машині для відображення того, що працює на віддаленій машині. Ви можете легко запобігти запуску X11 під час завантаження (я думаю, ви просто видалите 'gdm' із запуску завантаження) та зробите startxпісля входу в систему, але вам все одно потрібен X-запуск, щоб мати змогу робити все корисне з програмами, що спираються на дисплей X бути в наявності. Це може бути, а може і не бути тим, що ви хочете, будь ласка, уточніть. Можливо, просто переключившись на легкий WM, ви зробите все, що завгодно?
CVn

так, я використовую x11 для переадресації ssh. Я добре з методом запуску x локально. Я б краще не встановлював новий wm, якщо це абсолютно не потрібно для цього. я думав, що мені вдасться змінити деякі налаштування конфігурації, але не потрібно встановлювати нічого нового, оскільки у мене вже працює gui настільних ПК gnome.
mulllhausen

Як зазначав Майкл К., ви не можете запускати програми X без X-сервера. Натомість я пропоную вам працювати з емулятором терміналу в Gnome (або в будь-якому іншому диспетчері вікон, який ви віддаєте перевагу) і уникати тупих терміналів.
jofel

Щоб (тимчасово) вимкнути X-сервер, запустіть service gdm3 stopяк root. Звичайний користувач може починати X із "startx".
jofel

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

Відповіді:


9

Інструкція щодо відключення xdm / kdm / gdm / залежно від dm-у вас є правильною. Якщо цього не зробити, ви завантажуєте графічний логін (це dm = менеджер дисплеїв), а потім, коли ви виходите з X (що повинно бути таким же простим, як ctrl-alt-backspace- спробуйте, але спочатку закрийте свої програми), DM відновить ще один графічний логін, унеможливлюючи вихід із GUI.

Інша можливість з debian - це перевірити наявність рівня /etc/rc[N].dзапуску, який не запускає dm, і зробити це initdefaultв /etc/inittab. У мене немає немодифікованої системи debian під рукою, тому я не можу сказати, якщо є така - можливо 2. Не вибирайте 0, 1 або 6.

Після відключення dm ви завантажуєтесь на консоль входу. Звідти ви можете почати X з команди startx. Сюди входить DE за замовчуванням, і якщо ви використовували gnome, можливо, це буде. Ви також можете створити ~/.xinitrcсценарій оболонки, який буде запущений замість замовчування. Як правило, вони можуть бути досить мінімальними, наприклад:

#!/bin/sh

exec gnome-session

Потрібно запустити gnome (я вважаю - я також не маю під рукою системи gnome).

Зауважте, що ви не можете запустити програму GUI без X; з вашої посади незрозуміло, ви це розумієте. Програми GUI - це фактично клієнти, яким потрібен сервер Xorg . Ви можете запустити голий X без DE чи WM та конкретного додатка, замінивши exec gnome-sessionрядок на ім'я програми, але будьте обережні, тоді у вас більше не буде можливості запустити щось інше, і коли ви закриєте цю програму, ви будете мати дивлячись на порожній екран із курсором, що плаває в ньому.

У всьому цьому немає нічого небезпечного, і легко повторно включити DM, якщо хочете.


5

для вимкнення gui при запуску:

update-rc.d gdm3 disable # if you using gdm3
update-rc.d kdm disable  #if you using kdm

Однак якщо у вас обох, будь ласка, запустіть обидві команди.

Для відключення графічного режиму при запуску в ubuntu OS:

echo "manual" | tee -a /etc/init/lightdm.override

Тому що ubuntuвикористовує Upsatrtі викликає lightdmяк upstart service.

У світі UNIX графічне середовище має 3 шари:

  1. X #support клавіатура, миша та частина драйвера
  2. Менеджер вікон # ручка-декоратор, виграйте титул тощо
  3. Менеджер дисплеїв # створити зв’язок між вікнами.

Коли ви запускаєте gdm3 або kdm, ви змусили запустити 3 шари.

Якщо ви хочете запустити графічну програму в мережі, вам просто знадобиться шар 1: X. вам слід встановити:

export DISPLAY=YOUR_DEST_IP:0.0

Потім запустіть програму.


всі добрі поради, дякую. чи знаєте ви, чи можна запустити gui на f1терміналі?
mulllhausen

якщо ваш засіб CTRL+ALT+FNUM, це пов'язано з ttyNumberтаким, як tty1, tty2 , ttyN, воно не працює під мережею. Якщо ви хочете використовувати графічний режим локально, у вас має бути 3 шари, тож забудьте ...!
PersianGulf

Я намагався, update-rc.d gdm3 disableале все ще виглядає нормально, коли я перезавантажуюсь - все ще видно gui, тощо.
mulllhausen

Ви пробували з kdm? Який ваш графічний менеджер дисплеїв? gdm? кдм? чи тощо?
PersianGulf

Я пробую це на роботі над virtualbox vm на даний момент під керуванням ubuntu 12.04, але моя мета полягає в тому, щоб він працював над debian 7 вдома. ps aux | grep lightdmмав результати, але немає gdmабоkdm
mulllhausen
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.