Linux без графічної ОС, але з графічними ресурсами


23

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

Що хотілося б побачити, коли я завантажую свою машину в командний рядок, а не в графічний інтерфейс, але маю графічні ресурси. Тож коли я набираю слово: Firefox, програма та її графічний інтерфейс стають доступними. Коли я виходжу з Firefox, він повертається до командного рядка. Якщо мені потрібно переглядати файлову систему, скажу, що я набрав: XFE або будь-який інший менеджер, який використовується, і він з'являється і дозволяє мені переглядати папку, а коли я виходжу, повертаюся до командного рядка знову. Таким чином, можливість запускати, керувати та використовувати програми без використання графічного інтерфейсу, але мати графіку.

Було б добре, щоб все це було орієнтоване на програмування. Тож у командному рядку BASH є можливість викликати IDE середовища компілятора та просто починати писати програми, не відволікаючись на робоче середовище.

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


22
Ви просто шукаєте максимальну консоль / gnome-terminal / xterm?
користувач253751

але це не має нічого спільного з Ubuntu ;-) Краще запитайте це на U&L unix.stackexchange.com
Rinzwind

11
Я хочу запропонувати вам натиснути Ctrl + Alt + F1 через Ctrl + Alt + F7 відповідно.
Майкл Хемптон

1
Інший варіант - використовувати xterm як менеджер вікон. Неможливо перевірити це зараз, але слід редагувати ~ / .Xsession і встановити останній рядок у / usr / bin / xterm без &, тому цей процес не припиняє збереження X в живих. Коли цей xterm закінчується, сеанс закінчується і X припиняється. Можуть знадобитися деякі параметри геометрії.
Criggie

1
Сам Xterm не вирішує проблему. Я створив дуже мінімальну установку. Тоді я встановив Firefox. Він говорить про помилку: GDK_BACKEND не відповідає доступним дисплеям. Що я пропускаю?
Linuxuser00

Відповіді:


43

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


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

12
@ Linuxuser00: Я думаю, це лише питання конфігурації. Більшість користувачів керуючих вікнами менеджерів люблять використовувати свої великі екрани для відображення інформації поруч, але всі вони підтримують перемикання між кількома додатками на повноекранному екрані.
ojdo

Прочитавши цю відповідь, я спробував i3. Він відчуває себе трохи більш чуйним, ніж compiz. Але це потребує деякого звикання. Я досі не зрозумів, як зробити так, щоб вікна в i3 мали точні розміри, я хочу їх мати.
kasperd

@kasperd ти маєш на увазі мод + R, то грай стрілками? то після того, як ви закінчите втечу?
vimdude

24

Я боюся, що вам не вистачає головної різниці між сучасними обчислювальними середовищами та тими епохами C-64. Домашні комп'ютери епохи С-64 були однокористувацькими, однопроцесорними системами і не ділилися ресурсами комп'ютерів з іншими процесами. Це досить просто означає, що коли ви запускаєте програму на своєму C-64, яка була графічною програмою, вона переналаштовуватиме апаратне забезпечення ваших комп'ютерів у режим "графіки", і тоді ваша запущена програма оброблятиме весь графічний вихід та користувача вхід від самої миші та клавіатури.

Сучасні комп’ютери та його програмне забезпечення, навпаки, багатокористувацькі, багатопроцесорні, але не тільки це, сучасне програмне забезпечення залежить від спільних бібліотек, наприклад Firefox покладається на віконну бібліотеку GTK, а це, в свою чергу, покладається на інші бібліотеки нижчого рівня. Тож для того, щоб Firefox запустився, це залежить від цілого стека програмного забезпечення та конфігурації.

Оскільки в основі програмного забезпечення так багато, це робить його більш ефективним залишатися в графічному середовищі після його запуску, а не завантажувати графічне середовище для Firefox, потім вимикати його, а потім запускати графічне середовище для іншої програми, так далі і так далі.

Ви можете просто запустити та запустити будь-яку програму Linux GUI з терміналу (консолі), тому я б радив вибрати собі просту графічну середовище робочого столу, можливо, Просвіт чи Openbox , та просто запустити все з вікна терміналу / xterm.


11

Я погоджуюся з Eduar, ви, мабуть, хочете керування плиткою / динамічним вікном (WM). Але ніхто не звертається безпосередньо:

Що хотілося б побачити, коли я завантажую свою машину в командний рядок

Наразі вам слід завантажитися в Менеджер дисплеїв (DM), де ви входите. Отже, у вас є два варіанти: завантажтесь в оболонку або консоль DM.

Якщо у вас не встановлені DM-файли, ви за замовчуванням увійдете в оболонку, це дасть вам запит на вхід з ім’ям користувача, а потім паролем, якщо ви введете правильні облікові дані, тоді ви ввійдете у свою оболонку за замовчуванням. Я використовую це, і наступне - це приблизно мій середній "процес" запуску:

Arch Linux 4.1.5-1-ARCH (tty1)

localhost login: Joe
Password: 
$ startx

Якщо ви хочете мати DM, але консольний, тоді вам доведеться встановити та налаштувати його. На даний момент у Вікі Аркі є три DM консолі: CDM, консоль TDM та nodm .

Ubuntu за замовчуванням використовує LightDM , тому вам, можливо, доведеться його видалити.
Але як хтось, хто наразі не має DM, я б рекомендував зберігати свій поточний DM і просто змінити свій WM. Набридливо вводити startxі з пам’яті, завдяки чому воно автоматично виконується правильно, дратувало налаштування.


Ubuntu використовує lightdm за замовчуванням, принаймні для варіанту Unity.
Лео Лам

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

Пробачте, будь ласка, якщо це абсолютно невірно, але оскільки .bash_profileце звичайний баш-скрипт, ви не могли просто його вкласти startx?
Нік Мертин

@ MagikM18 Що робити, якщо ви хочете запустити інтерактивну оболонку bash після запуску X? Без жодних перевірок .bash_profileспробуйте запустити startxзнову.
joeytwiddle

@joeytwiddle правда, я про це не думав
Нік Мертин

10

startx і xinit можуть бути передані початковому клієнту для початку. Наступна команда:

startx /usr/bin/firefox

запустить xserver на TTY, над яким ви зараз працюєте, і запустить один екземпляр Firefox у щось на зразок повного екрану. Ви можете переключитися на інші програми, щоб уникнути необхідності збивати сеанс Firefox лише для того, щоб повернутися до консолі чи залучити інших клієнтів. Можливо, вам доведеться вказати безліч варіантів, щоб зробити це красивим для вашого монітора, оскільки у вас не буде робочого середовища, яке б робило для вас якусь конфігурацію.

Ви повинні знати, що деякі xclients не працюють добре поза вікнами менеджерів вікон або робочого столу. Немає DE, що забезпечує прикраси вікон, і WM слухає комбінації клавіш MOD, тому якщо вони не надають графічного способу виходу, вам доведеться вбити процес (або X) з іншого TTY.

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


10

Альтернативи

Режим кадрування

Є деякі програми, які здатні працювати в режимі фреймбуфера. Режим Framebuffer дозволяє програмі мати весь екран для себе, що дозволяє програмі малювати все, що завгодно, на екрані піксель на піксель. Не всі програми підтримують це, але є кілька, які роблять.

Режим Framebuffer не вимагає сервера X (наприклад, X.orgу випадку з поточними версіями Ubuntu, або найближчим часом, можливо, Mirабо Waylandзалежно від того, яка з них стане більш популярною), або будь-яке середовище менеджера вікон / робочого столу для запуску. Це має забезпечити швидше переключення (та назад) на графічний режим, особливо як у (більшості?) Сучасних дистрибутивів Linux та графічних драйверів, що Alt-F[1-6]консолі надаються в режимі фреймбуфера.

"Текстовий інтерфейс користувача" (TUI)

Деякі програми, які, як правило, підтримують лише командний рядок за допомогою миші через gpm. В Ubuntu все, що вам потрібно зробити, - це просто встановити пакунок, gpmі він повинен працювати відразу без будь-якої конфігурації або навіть необхідного перезавантаження (IIRC). Після gpmвстановлення покажчик миші буде показаний як текстовий курсор у стилі блоку, і ви можете використовувати мишу як звичайне для клацання на елементах інтерфейсу користувача. Ви також можете виділити текст та використовувати копію та вставити.

Якщо ви хочете піти на крок далі, є навіть "менеджер вікон", який дозволяє запускати кілька термінальних додатків на одному текстовому режимі "робочий стіл".


Невичерпний перелік програм, що підтримують фреймбуферний режим

  • mc (Midnight Commander) - файловий менеджер
  • Посилання / Посилання 2, Netsurf - веб-браузери
  • fbi - переглядач зображень
  • fbgs (пов’язано з fbi, частиною того ж набору), fbpdf - переглядачем PDF
  • mplayer, fbff (на основі ffmpeg) - відтворення аудіо / відео

Це звучить дуже приємно, хоч би це було не так обмежено, дякую.
Linuxuser00

Привіт @ Linuxuser00. Є ще кілька програм, я просто не встиг перерахувати більше :)
Pabru

Привіт @ Linuxuser00, я додав ще пару, якщо ти все ще зацікавився
Пабру

5

Подивіться на використання менеджера вікон, як FVWM2, а не на «робочому столі». Ви можете налаштувати його на відкриття лише одного (або більше) xterms під час завантаження, може запускати будь-який графічний додаток такого веб-браузера з командного рядка, не турбують настільні матеріали, такі як "системний трей" або піктограми для всього, але можете додати будь-які шматочки, які, можливо, вам можуть бути корисними. (У моєму випадку це вікно пейджера для декількох екранів та монітор завантаження Conky.)


Я зараз граю з цим. Можливо, я не маю налаштованого прямо зараз, але здається, він нестабільний і розбився на мене.
Linuxuser00

Хамм ... Я керував цим - о, колись наприкінці 20 століття - і не мав проблем. Але я використовую OpenSuSE, а не Ubuntu, тому що (серед інших причин) здається, що простішими є використання віконних менеджерів, а не «робочий стіл» за замовчуванням. Якщо ви хочете піти далі, FVWM має форум підтримки: fvwmforums.org/phpBB3 Підступ до реєстрації полягає в тому, що вони задають вам питання про "склад". Відповідь - члени поп-групи "Бітлз" 60-х років. (Я повинен був відповісти Google, хоча я був біля 60-х.)
jamesqf

4

Це дуже можливо.

Спочатку потрібно відключити графічне завантаження. Тоді ви хочете "Режим єдиного користувача" (попереджаючи, що з цим виникають досить екстремальні ризики безпеки), нарешті, вам потрібно вирішити, що робити, коли ви хочете запустити графічний інтерфейс.

Див. Як я можу завантажуватися в режимі GRUB для однокористувача?

По суті, ви додаєте параметр singleдо конфігурації завантаження GRUB. Ви можете зробити це у своєму файлі / etc / default / grub, щоб зміни були постійними.

Див. Як відключити X під час завантаження, щоб система завантажувалася в текстовому режимі?

По суті ви додаєте textдо своїх параметрів у/etc/default/grub

Це дасть вам єдине користувач, лише текстове середовище. Далі використовується графічний інтерфейс. Програма, яку ви хочете запуститиstartx

Ви бігли б

startx /path/to/executable

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

sudo apt-get install twm

Потім, щоб запустити команди, я б сказав, запустіть, startxпотім поверніться до консолі (CTRL + ALT + F1) і зробіть щось подібне export DISPLAY=:0. Тепер, коли коли-небудь ви будете користуватися графічним додатком із командного рядка, він запуститься у "Графічній стороні", до якої можна потрапити за допомогою Ctrl + Alt + F7 (як правило).

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

Що це, це так близько, як ви збираєтеся отримати, з великою кількістю роботи.


Навіщо потрібен режим єдиного користування?
MSalters

"Я хотів би бачити, коли я завантажую свою машину в командний рядок, ...". Старі комп'ютери "Commodore" не були багатокористувацькими. Вони взагалі не були "користувачем". Ви ввімкнули їх і отримали блимаючий курсор для введення команд. Усі команди були спробами, і про безпеку говорити не було. Найближчим до цього моментом є "режим єдиного користувача", який, в основному, запускає вас, як увійти як root, обійти більшість, якщо не всю, безпеку.
coteyr

Ага, я вже підозрював, що ти розгубився. Тут немає жодної вагомої причини, чому вам потрібен режим єдиного користувача. У Linux режим однокористування та багатокористувацький режим не залежить від вибору GUI або CLI.
MSalters

Ні, я не плутаюсь. ОП попросила оточення настільки ж, наскільки це можливо, як Commodore. Це означає відсутність безпеки, без багатокористувацьких користувачів та входу. Найкращий спосіб наблизитися до цього - це режим одиночного користувача. Дві цілі не пов'язані одна з одною, ви можете мати консольний доступ з декількома користувачами, ви можете мати GUI з одним користувачем. Це дві частини більшої загальної мети.
coteyr

Ні, я не хочу, щоб середовище було наближеним до Commodore. Я хочу, щоб простота була схожа на Commodore (немає графічної ОС). Bash тільки чудово, але я хотів би ввести середовище кодування, якщо я хочу кодувати або входити в середовище браузера, якщо я хочу переглядати мережу і так далі. А коли закінчите ці програми, закрийте їх і поверніться до BASH. а може мати кілька програм, що працюють у власному робочому просторі. Я був зайнятий і не зміг реалізувати деякі з цих методів, про які йшлося раніше.
Linuxuser00

3

Мені подобається щур за те, що ти намагаєшся зробити. Я не буду публікувати скріншот, тому що ви не можете визначити відмінність від скріншота xterm (або будь-якої програми, яку ви працюєте). У стандартній конфігурації він відображає одне вікно на весь екран. Ви можете розділити його для відображення кількох вікон, але більшість мого щоденного використання я цього не роблю. Якщо ви запускаєте емулятор терміналу з вашого файлу .ratpoisionrc, ви отримуєте підказку майже як тільки ви входите в систему. Він надихається екраном gnu, і єдиною концепцією, яку вони пропустили, були знімні та спільні сеанси (але vnc заповнює цю прогалину) .


2

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

Я буду використовувати gnome в якості прикладу робочого процесу, тому що це те, що я знаю, але я б здогадався, що інші середовища на робочому столі також підтримують подібну функціональність. У gnome 3 ви можете мати робочу область (або декілька) з повноекранним терміналом, який має такий самий вигляд і відчуття, що працює в режимі лише командного рядка. Те, що робочий стіл gnome працює у фоновому режимі, не має значення.

Потім, використовуючи диспетчер вікон (наприклад, той, що обговорювався в цьому питанні ), для управління, на якій робочій області створюються нові вікна, ви можете змусити кожне нове вікно розміщувати у власній робочій області. Якщо ви готові самостійно переміщувати вікна, коли вони створені, тоді вам не потрібно жодне програмне забезпечення, крім гнома. Gnome 3 підтримує автоматичні робочі простори, тому при відкриванні / закритті вікон на нижній робочій області нові робочі простори автоматично створюються / видаляються для них. Тоді ви можете просто використовувати ctrl + alt + arrowдля швидкого переміщення між ними. Коли ви закриєте вікно, робоча область, на якій воно було, автоматично видаляється, і дві робочі області з кожної сторони рухаються разом. Все, що ви коли-небудь бачите, - це вікна, які у вас є, і термінал.


Це звучить правильно. Можливо, Openbox і Gnome дали б мені те, що я хочу?
Linuxuser00

Я не використовував openbox (або будь-який інший менеджер вікон), тому вам доведеться оцінювати їх самостійно), але я запускаю gnome 3 на своєму ноутбуці і використовую робочий процес, описаний у цій відповіді (переміщення вікон вручну). Я дуже задоволений цим, хоча перестановка вікон в той порядок, який я хочу, після того, як вони будуть створені, є трохи більш болісним, ніж має бути.
Годрік Провид

2

Встановити Xvfb:

apt-get install xvfb

Виконати:

/usr/bin/Xvfb :1 &
export DISPLAY=:1

тоді запускайте будь-яке графічне програмне забезпечення, яке вам подобається без голови.


1

Ви можете швидко перейти на інтерфейс командного рядка за допомогою [ctrl] [alt] [F1] (працює з [F1] - [F12] я думаю). Один із них також переключиться на ваш графічний інтерфейс, коли він вам потрібен; Я думаю, що це [ctrl] [alt] [F8] на монетному дворі, тому ви можете спробувати це. Я все ж кинусь у табір "використовувати керуючого плитковими вікнами"; i3 справді - чудовий інструмент.


Так, але проблема, яка у мене є, полягає в тому, що у фоновому режимі працює графічний інтерфейс, використовуючи мої ресурси, тому я повинен просто використовувати графічний інтерфейс, а не робити вигляд, що його там немає.
Linuxuser00

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