Мама у меня в прошлом - системный инженер БЭСМ-6 и ЕС ЭВМ. А вот с Windows 10 она сейчас хотя и дружит, но не так, чтобы уж очень.
Поэтому возникают инциденты, а я к ней приехать не всегда могу быстро.
Надо помогать маме удаленно, но прошлые эксперименты с TeamViewer оказались неудачны - маме, ввиду ее возраста, не очень просто понять, куда и какие коды вводить, какие цифры диктовать. Поэтому нужно решение, не требующее никаких действий со стороны пользователя.
Приехав в очередной раз, когда у компьютера "пропал звук" (а на самом деле, случайно была обнулена громкость), я увидел, что мамина Windows порядком устала — даже обновляться не хочет — процесс обновления висит-висит, и слетает. Да и браузер нахватал каких-то мерзопакостных всплывающих окон с рекламой... в общем, проще и быстрее ампутировать, чем лечить.
Поэтому я решил: устрою импортозамещение Windows, и поставлю российский ALT Linux. Действительно, там и терминал нормальный, и хотя с любимым маминым PL/1 туговато, но GNU Fortran и Algol68 в репозитории есть, можно порадовать маму, а еще настрою "удаленный помощник".
Сказано - сделаем! Провел лабораторную работу, и решение в итоге получилось таким:
— Домашние сети объединить через VPN-туннель, чтобы к маминому компьютеру всегда был доступ. Здесь ничего сложного нет, поэтому подробно останавливаться на этом вопросе не буду.
— А вот в качестве операционной системы на мамин компьютер в итоге решил поставить Simply Linux, самую последнюю версию - десятую, которую скачать можно здесь. Правда, там по умолчанию XFCE, который мне никогда не нравился, и я решил заменить его на более функциональный KDE.
В таком варианте лучше при установке снять все галочки приложений - это избыточно. И конечно же, не забыть настроить автоматический вход в систему для пользователя, под которым будет работать мама.
— Чтобы KDE был установлен корректно и его не пришлось впоследствии патчить (кто это делал под Free BSD, тот знает, что маму этим мучать точно не надо, и себя тоже незачем), в Simply Linux лучше всего использовать команду:
$ sudo apt-get install kde5-big
(да, она поставит много лишнего, но лучше потом удалить отдельные ненужные приложения, чем ловить ошибки в настройках).
— После завершения установки KDE надо настроить сеанс по умолчанию. Для этого ставим wm-select:
$ sudo apt-get install wm-select
Увы, после этого wm-select сразу не запустится. Идем в домашнюю папку и убиваем настроечный файл:
$ rm -f ~/.wm-select
Теперь запускаем wm-select, ставим галочку и нажимаем кнопку кнопку Plasma со значком KDE.
(после этого я предпочел перезагрузиться, т.к. KDE запустился, но как-то кривовато)
— Далее, запускаем krfb — это приложение обеспечивает доступ к удаленному рабочему столу:
$ krfb
Появится окно «Совместный доступ к рабочему столу». В нем нужно:
— Поставить обе галочки «Включить доступ к компьютеру» и «Разрешить доступ без подтверждения»
(это не очень безопасно, но я пока решил, что в моем случае простота важнее, и потом, эту настройку всегда можно будет поменять)
— Сохранить реквизиты для подключения (имя хоста, адрес, порт), которые отображаются в поле «Адрес» (они еще пригодятся)
Задать пароли в поле «Пароль» (кнопка с карандашом поможет поменять сгенерированный автоматически пароль) и по кнопке «Сменить пароль доступа» (для простоты я установил один и тот же пароль).
— Далее нужно обзавестись VNC-клиентом. Поскольку я собираюсь подключаться как удаленный помощник с Windows-хоста, то выбрал Tight VNC. У этого продукта есть свободная и проприетарная версия. Проприетарная для решаемой задачи не нужна, поэтому качаем свободную версию отсюда.
(в Linux можно использовать любой VNC-клиент, например, Remmina)
При установке Tight VNC выбираем, конечно же, Custom режим и отключаем VNC -Server.
(на этом месте внимательный читатель скажу же скажет: а зачем было ставить Simply Linux и KDE, если можно было поставить на мамин компьютер c Windows TightVNC Server? — Да, так тоже можно, но целью этой статьи является демонстрация того, как избавиться от проблем с Windows и зависимости от Microsoft, см. заголовок)
— После установки можно подключаться к удаленному VNC-серверу на мамином компьютере - его мы настроили раньше, в окне krfb.
Запускаем TightVNC Viewer и в поле Remote Host указываем ip:порт или имя_хоста:порт (которые были в поле «Адрес» окна «Совместный доступ к рабочему столу» kfrb):
Нажимаем Connect и вводим пароль для подключения в поле «Password» в окне Vnc Authentication:
и подключаемся к удаленному рабочему столу в режиме «Удаленного помощника»:
— Теперь дело за малым — поставить мессенджеры для аудио/видеозвонков и Yandex Browser для комфортной работы в Интернет.
Эти сторонние приложения лучше всего установить при помощи стандартного приложения appinstall
$ appinstall
Далее вводим пароль администратора и ставим нужные приложения отсюда:
(внимательный читатель обнаружит, что тут есть много еще интересного, и chromium-gost, и zoom, и даже Visual Studio Code, но зачем все это маме?)
После установки приложений остается закрепить их значки на панели задач и сделать ярлыки на рабочем столе. Теперь мама может спокойно работать, и мы можем ей помочь, подключившись по VNC.
Задача, кажется, решена полностью?... Но нет, оказывается, что подключение к krfb не удастся установить после перезагрузки маминого компьютера, и вообще, если будет остановлен соответствующий процесс.
Чтобы решить эту проблему, настраиваем автозапуск krfb в свернутом режиме. Для этого создаем в домашней папке файл shell-скрипта и делаем его исполняемым:
$ touch ~/krfb_launch.sh
$ chmod +x ~/krfb_launch.sh
Далее, открываем файл в любом текстовом редакторе, например, mcedit (он в Simply Linux ставится по умолчанию, как и mc - Midnight Commander) или KWrite и добавляем туда следующий bash код:
#!/bin/bash
sleep 15s && kstart5 --skiptaskbar --iconify krfb
Это решение немного костыльное. Поясню, что все это значит:
kstart5 --skiptaskbar --iconify krfb
обеспечивает вызов krfb в свернутом в иконку режиме, без отображения на панели задач. При этом приложение можно будет открыть из системного трея ("Состояния и уведомления", при настройках по умолчанию - меню между значком менеджера подключений и часами):
А достаточно длительная задержка
sleep 15s
необходима для того, чтобы krfb запустился после инициализации всех прочих служб, включая сетевое подключение. В противном случае, VNC-сервер может запуститься на адресе 127.0.0.1, а нам это не нужно.
Теперь, чтобы скрипт krfb_launch.sh
запускался автоматически при старте сессии KDE, открываем "Настройки" => "Параметры системы KDE 5", затем на вкладке "Запуск и завершение" выбираем "Автозапуск" => "Добавить", "Добавить приложение" и выбираем krfb_launch.sh.
См. рисунок:
Теперь krfb будет запускаться и после перезагрузки компьютера.