Мой первый опыт работы с компьютером был с Commodore. Я хотел бы, чтобы Linux-компьютер работал так же. Мне было интересно, возможно ли сделать что-то подобное с использованием Linux.
Я хотел бы видеть, что когда я загружаю свою машину в командной строке, а не в GUI, графические ресурсы были бы доступны. Так, когда я набираю, скажем, Firefox, программа и ее графический интерфейс были бы доступны. Когда я выхожу из Firefox, он возвращается в командную строку. Если мне нужно просмотреть файловую систему, скажем, я набрал: XFE или любой другой используемый менеджер, и он появляется и позволяет мне просмотреть папку, а когда я выхожу, он снова возвращается в командную строку. Так что возможность запускать, управлять и использовать программы без необходимости использования GUI, но с доступной графикой.
Было бы неплохо, если бы все это было направлено на программирование. Так что в командной строке BASH можно вызывать среду компилятора IDE и просто начинать писать программы, не отвлекаясь на среду рабочего стола.
А если запущено больше одной графической программы, то, полагаю, нужен менеджер окон с вкладками. Это осуществимо или я сплю?
решение1
Я думаю, что вы можете получить то, что хотите, используя Tiling Window Manager, напримеря3илиxmonad. Существуют и другие минималистичные оконные менеджеры с похожей функциональностью. i3 и xmonad находятся в репозиториях Ubuntu, поэтому их легко установить, а затем вы можете выбрать их на экране входа в систему.
решение2
Боюсь, вы упускаете главное различие между современными вычислительными средами и средами эпохи C-64. Домашние компьютеры эпохи C-64 были однопользовательскими, однопроцессными системами и не делили ресурсы компьютера с другими процессами. Это просто означает, что когда вы запускали программу на вашем C-64, которая была графической программой, она перенастраивала оборудование вашего компьютера в режим «графики», а затем ваша запущенная программа сама обрабатывала весь графический вывод и пользовательский ввод с мыши и клавиатуры.
Современные компьютеры и их программное обеспечение, напротив, являются многопользовательскими, многопроцессными, но не только это, современное программное обеспечение зависит от общих библиотек, например Firefox полагается на библиотеку окон GTK, а она в свою очередь полагается на другие библиотеки более низкого уровня. Таким образом, для того, чтобы Firefox работал, он зависит от целого стека программного обеспечения и конфигурации.
Поскольку существует так много базового программного обеспечения, более эффективно оставаться в графической среде после ее запуска, чем загружать графическую среду для Firefox, затем закрывать его, затем запускать графическую среду для другой программы и т. д. и т. п.
Вы можете довольно просто запустить и запустить любую программу Linux GUI из окна терминала (консоли), поэтому я бы посоветовал вам выбрать себе простую графическую среду рабочего стола, напримерПросвещениеилиОткрытая коробкаи просто запустите все из окна терминала/xterm.
решение3
startx и xinit могут быть переданы как начальный клиент для начала. Следующая команда:
startx /usr/bin/firefox
запустит xserver на TTY, над которым вы сейчас работаете, и запустит один экземпляр Firefox в режиме, похожем на полноэкранный. Вы можете переключиться на другие tty, чтобы избежать необходимости останавливать сеанс Firefox, чтобы вернуться в консоль или вызвать других клиентов. Вам, возможно, придется указать много параметров, чтобы это выглядело красиво для вашего монитора, поскольку среда рабочего стола не будет выполнять часть этой настройки за вас.
Вам следует знать, что некоторые xclients не работают должным образом вне оконных менеджеров или сред рабочего стола. DE не предоставляет декорации окон, а WM не прослушивает комбинации клавиш MOD, поэтому, если они не предоставляют графический способ выхода, вам придется завершить процесс (или X) с другого TTY.
Обычно первым клиентом, который люди используют с X, является среда рабочего стола или оконный менеджер, представляющий собой особый вид клиента, который запускает и встраивает другие клиенты в дополнение к отображению собственного окна.
решение4
Альтернативы
Режим кадрового буфера
Некоторые программы могут работать в режиме кадрового буфера. Режим кадрового буфера позволяет приложению иметь весь экран в своем распоряжении, позволяя приложению рисовать на экране все, что оно хочет, пиксель за пикселем. Не все программы поддерживают это, но есть несколько, которые поддерживают.
Режим фреймбуфера не требует X Server (как 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) - воспроизведение аудио/видео