TTY — терминал, который не для домашнего использования +2



Возможно ли выжить используя только возможности TTY? Тут моя краткая история о том, как я мучился с TTY, желая добиться от него нормальной работы


Предыстория


Недавно, на моём стареньком ноутбуке полетела видеокарта. Да так полетела, что я не мог запустить даже установщик любой ОС. Windows вылетала с ошибками при установке базовых драйверов. Установка Linux вообще не хотела запускаться, даже если я прописывал в конфигурации запуска nouveau.modeset=0.
Покупать новую видеокарту на ноутбук, который отслужил своё, я не хотел. Однако, как истинный линуксоид, я начал подумывать: "А не сделать ли мне из ноутбука терминальный компьютер, как это было в 80-х?". Так родилась идея не ставить на линукс xserver, а попробовать прожить на TTY (голой консоли).


Первые трудности


На ПК я поставил Arch Linux. Люблю этот дистрибутив за то, что его можно настроить как вам только угодно (а также, сама установка велась из консоли, что было мне на руку). Следуя мануалу, я установил систему, как и всегда. Теперь хотелось посмотреть что может консоль. Я догадывался, что без xserver я обрубил себе множество возможностей. Захотелось посмотреть сможет ли голая консоль воспроизвести видео или показать фотографию (как это делает w3m в консоли), однако все попытки были тщетны. Затем я начал пробовать браузеры, там же столкнулся с проблемой буфера обмена: он бесполезен без GUI. Я не могу ничего выделить, буфер пустует. Есть конечно внутренний буфер (как у Vim), но он на то и внутренний, вспоминаю, что в конфигах Vim'a можно прописать использование внешнего буфера, но тут задаюсь вопросом: зачем? Я был будто в клетке. Видео не посмотрю, т.к. нужен xserver, alsa-mixer тоже без него не хочет работать, вследствии звука нет, браузеры бесполезны, причём все: w3m (который не грузил картинки), elinks (который был хоть и удобен, однако тоже абсолютно бесполезен), browsh (который обрабатывал все картинки и передавал их в терминал как ASCII псевдокартинку, однако там нельзя было даже по ссылке перейти). Дело шло к вечеру, а у меня на руках "обрубок", с помощью которого можно только компилировать код. Максимум что я мог делать, так это искать справку к коду на how2 и серфить с помощью ddgr.


Так есть ли выход?


Тут я начинаю задумываться, что я свернул не на ту дорогу. Легче просто купить видеокарту, нежели таскаться с недоноском. Не то чтобы я мог назвать Linux с одним только TTY совершенно ненужной системой, нет, возможно, для администраторов на сервере она подойдет, но моя цель изначально была сделать из TTY "конфетку", а в результате получился монстр Франкештейна, который бился в конвульсиях, когда дело доходило до операций с GUI. Хотелось большего, тогда я уже окончательно забросил идеи о воспроизведении видео и аудио материалов, а начал думать, о том, как бы мне сделать SSH-сервер, с помощью которого я смогу развлекаться будучи вне дома.


Чего именно я хотел?


  • Работа с кодом: Vim, NeoVim, линтеры, отладчики, интерпретаторы, компиляторы и всё остальное
  • Возможность спокойно серфить интернет
  • ПО для института (как минимум какие-нибудь программы, которые смогут отрендерить документ в сети с разметкой .md)
  • Удобность

Выживание


Vim, Nvim, и все остальные радости ленивого программиста я установил и настроил довольно быстро. Возможность сёрфить интернет, однако, вызвала сложности (кто бы мог подумать), ибо я все ещё не могу копировать ссылки. Потом я подумал, что сёрфить интернет, находясь в консоли как минимум неразумно и я начал искать замену. RSS-фидеры на консоль искались долго, но всё-таки пару фидеров нашлось, и я благополучно начал их использовать и наслаждаться потоком информации.
Теперь ПО для работы с документами. Тут пришлось потрудиться и написать скрипт для того чтобы мой файл .md рендерился без видеокарты (ирония). Для этого я использовал сервис для просмотра и рассылки файлов .md, а затем с помощью ещё одного сервиса обработки веб-страниц в .pdf делал документы. Проблема решена.


С удобностью тоже были некоторые проблемы. Терминал не поддерживает все цвета нормально, в результате получается что-то вроде этого. Также вопрос панелей (а точнее их нехватка), который быстро решился с помощью tmux. Файловый менеджер я выбрал Ranger + fzf и ripgrep для быстрого поиска. Браузер выбрал elinks (в силу того что на ссылки можно переходить цифрами). Были ещё некоторые моменты, но все они быстро решались определённым списком утилит.


Результат


Это не стоило потраченного времени. Я сразу вас предупреждаю, если вы хотите на какое-то время перейти на консоль, будьте готовы к тому, что придётся помучиться. Всё же, в результате я получил вполне рабочую систему, с файловым менеджером, панелями, браузером, редакторами и компиляторами. В общем неплохо, однако спустя неделю, я просто не выдержал и купил новый ПК. На этом у меня всё. Делитесь своим опытом, будет интересно узнать, что вы делали, когда оказались на какое-то время в консоль-онли режиме.




К сожалению, не доступен сервер mySQL