воскресенье, 30 апреля 2017 г.

Linux Mint – "улучшение" работы через WiFi

При использовании соединения WiFi было замечено, что, к сожалению, иногда имеют место самопроизвольные обрывы соединения с последующим его восстановлением. На днях в сети нашлась информация об улучшении соединения по WiFi. И, как говорится, вроде бы "не первый год замужем" (оказывается, фраза имеет весьма широкое толкование), но очевидная вещь никак не приходила в голову.

Повысить скорость и качество соединения с точкой доступа можно через отключение механизма энергосбережения чипсета беспроводной сетевой карты.

sudo xed /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf

В Linux Mint в качестве текстового реактора по умолчанию используется xed. В Ubuntu Linux следует вместо xed писать gedit.

[connection]
wifi.powersave = 3

Измените значение с 3 на 2 и сохраните файл. Перезагрузитесь или выполните в терминале sudo systemctl restart NetworkManager.

Чтобы убедиться, что режим энергосбережения выключен, откройте терминал и введите команду iwconfig (именно iwconfig, а не ifconfig). В результатах выполнения команды должна быть строка Power management:off

Например, в моём случае:

iwconfig
wlx000b81935b96  IEEE 802.11bgn  ESSID:"MikroTik"
Nickname:"<WIFI@REALTEK>"
Mode:Managed  Frequency:2.412 GHz  Access Point: 4C:5E:0C:BB:67:B3  
Bit Rate:150 Mb/s   Sensitivity:0/0 
Retry:off   RTS thr:off   Fragment thr:off
 Power Management:off 
Link Quality=100/100  Signal level=95/100  Noise level=0/100
Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
Tx excessive retries:0  Invalid misc:0   Missed beacon:0

По моему субъективному впечатлению, работа по WiFi немного улучшилась, но, как говорят, "практика – критерий истинности". Поэтому данная рекомендация не может считаться универсальным "рецептом". Но, всё же, это лучше, чем самостоятельно "курить бамбук", не правда ли?


 Дополнение от 7.03.2022 

В соответствии с сообщением на github, значение "0" соответствует "по умолчанию", 1 – игнорировать, 2 – выключить энергосбережение, 3 – включить энергосбережение. При этом, правда, указывается, что функция энергосбережения в Network Manager поддерживается, но документация не разработана, а данные значения получены из исходных кодов.
За поправку благодарю анонимного комментатора.

четверг, 27 апреля 2017 г.

Nautilus в Linux Mint xfce

В Linux Mint xfce имеется свой файловый менеджер Thunar. Без ущерба для работоспособности системы в неё можно установить дополнительный файловый менеджер.

При установке файлового менеджера Nemo у меня он получился англоязычным. При установке файлового менеджера Caja он не отобразился в меню программ, а его запуск из терминала командой caja сопровождался предупреждением о несовместимостях библиотек GTK2 и GTK3, хотя сам файловый менеджер был работоспособен. Поэтому было принято решение остановиться на Nautilus.

Запускаем Synaptic и в строке поиска указываем nautilis. Впрочем, уже при указании nau в результатах выдаётся перечень пакетов Nautilus. Для установки пакета можно вызывать правое контекстное меню мыши и выбрать "Отметить для установки". На рисунках ниже показаны уже установленные пакеты Nautilus для моих нужд.

Собственно сам файловый менеджер Nautilus:


Nautilus-data ставится вместе с Nautilus. Nautilus-emblems предназначен для корректного отображения эмблем на папках:


Следует отметить, что в Linux Mint xfce уже присутствуют пакеты nautilus-data и libnautilus-extension.

Easytag может оказаться полезным при редактировании тэгов звуковых файлов, а nautilus-wipe позволяет вызвать команду "гарантированного" удаления из правого контекстного меню Nautilus (пункты меню "Затереть" и "Затереть свободное место"):


Audio-convert вряд ли нуждается в пояснении, если Вы хоть раз делали конвертирование аудиофайлов из одного формата в другой:


Вот этой вещи мне временами не хватает – "покраска" отдельных каталогов:


Указанные ниже пакеты служат для интеграции с облачными хранилищами Dropbox и MEGA:



Nautilus можно добавить на панель (подробности). Следует отметить, что значки на панели для запуска Thunar и Nautilus будут одинаковыми, поэтому целесообразно Nautilus назначить какой-либо другой значок.


В Thunar возможно добавить команд "Открыть папку в Nautilus". Для реализации этого действия вызовите в Thunar "Правка – Особые действия" и нажмите в правом вертикальном меню на кнопку с плюсом (добавить особое действие). Задайте имя, которое будет отображаться в правом контекстном меню мыши Thunar, а в качестве команды укажите   nautilus --new-window %U


Назначьте значок, который будет указывать на данное действие. Значок не обязательно должен быть из раздела "Значки приложений", его можно выбрать по своему вкусу.

В условиях появления укажите "Каталоги":


На рисунках ниже показан пример открытия в Nautilus каталога dwhelper при вызове команды их правого контекстного меню Thunar:



При желании Вы можете назначить Nautilus приложением по умолчанию. Перейдите в диспетчер настроек и далее в "Предпочитаемые приложения".


Обратитесь к вкладке "Утилиты" и для файлового менеджера укажите Nautilus.


После этого Ваши каталоги будут открываться в Nautilus. Вы также можете добавить значок запуска Thunar на панель.
Команда для запуска Thunar – thunar
Открыть каталог с помощью Thunar – thunar %F

При полном удалении из системы Nautilus удалите также и каталоги с его настройками в скрытых каталогах Вашего домашнего каталога .config и .local/share

При полном удалении пакетов Nautilus у Вас будет также удалена возможность создания и извлечения архивов.



Для восстановления этой функции в Thunar запустите Synaptic и установите пакет file-roller:


вторник, 18 апреля 2017 г.

NoMachine: удаление автосоздаваемых каталогов с именем хоста

После некоторого периода эксплуатации NoMachine (по моему восприятию, по сравнению с VNC это ПО лучше работает в качестве управления Linux через удалённый рабочий стол) было замечено, что NoMachine автоматически создаёт каталоги (никак не привыкну, что в Linux следует говорить каталоги) с именем хоста, на котором оно установлено. При этом эти каталоги автоматически не удаляются. Удаление их вручную на функциональности NoMachine не сказывается, вследствие чего появилось предположение, что данные каталоги представляют из себя какой-то сеансовый бэкап.


Различия имён хостов на рисунках выше обусловлены различными значениями строк файла /usr/NX/etc/node.cfg  

NodeName H67.net.org – для верхнего рисунка
#NodeName localhost.localdomain – для нижнего рисунка

Так как удалять вручную, всё-таки, "лениво", то пришлось поискать способ их автоматического удаления при старте системы. После долгих попыток адаптирования к своей ситуации найденных команд было принято решение остановиться на двух скриптах (каждый для своего хоста):

#!/bin/sh
find -type d -name "*-H67.net.org-*" | xargs rm -dfR

#!/bin/sh
find -type d -name "*-H68-*" | xargs rm -dfR

Скрипт будет искать совпадение имён указанных в скрипте каталогов во всём домашнем каталоге. Поэтому, запустив его из терминала можно увидеть, что система выдаст сообщение о невозможности работы в ряде скрытых каталогов. Например:

find: «./.config/mc»: Отказано в доступе
find: «./.dbus»: Отказано в доступе
find: «./.local/share/mc»: Отказано в доступе
find: «./.cache/dconf»: Отказано в доступе
find: «./.cache/mc»: Отказано в доступе

Поэтому необходимо указать, в каком каталоге необходимо искать назначенные для удаления данные. Таким образом, окончательное содержание указанных выше скриптов будет следующим:

#!/bin/sh
find /home/каталог_пользователя/.nx -type d -name "*-H67.net.org-*" | xargs rm -dfR

#!/bin/sh
find /home/каталог_пользователя/.nx -type d -name "*-H68-*" | xargs rm -dfR

Данные скрипты помещены в файлы del-nx-H67.sh и del-nx-H68.sh в домашние каталоги пользователей, под которыми и осуществляется сеансовая работа в Linux. Сами файлы помечены как исполняемые.


Так как на обеих системах используется DE xfce, то помещение их в автозагрузку системы осуществляется через "Сеансы и запуск".


В каждую из систем добавлено по команде отложенного автозапуска:

sh -c "sleep 80 && /home/каталог_пользователя/del-nx-H67.sh"

sh -c "sleep 80 && /home/каталог_пользователя/del-nx-H68.sh"

Т.е. запуск скриптов производится через 80 секунд после старта системы.

Следует иметь в виду, что после отработки задания по удалению эти команды всё равно будут находиться в памяти компьютера, отображаясь в диспетчере задач. Для того, чтобы этого избежать и в целях улучшения своей информированности изменяю скрипты:

#!/bin/sh
find /home/каталог_пользователя/.nx -type d -name "*-H67.net.org-*" | xargs rm -dfR
zenity --info --text "Unused old NoMachine data deleted" 2>/dev/null --timeout=3
exit

#!/bin/sh
find /home/каталог_пользователя/.nx -type d -name "*-H68-*" | xargs rm -dfR
zenity --info --text "Unused old NoMachine data deleted" 2>/dev/null --timeout=3
exit

Команда zenity --info --text "Unused NoMachine logs deleted" 2>/dev/null --timeout=3 вызывает отображение информационного окна, в котором отображается текст Unused old NoMachine data deleted (неиспользуемые старые данные NoMachine удалены). Данное информационное окно отображается 3 секунды, после чего автоматически закрывается, как будто если бы Вы нажали кнопку ОК. Время в секундах определяется параметром timeout=3

Команда exit является командой завершения работы скрипта sh.

Если Вы предпочитаете вместо информационных сообщений по центу экрана видеть всплывающие системные уведомления (оповещения), то вместо 

zenity --info --text "Unused old NoMachine data deleted" 2>/dev/null --timeout=3

используйте строку

notify-send -i info "Unused old NoMachine data deleted"

Если системные уведомления (оповещения) не отображаются, то возможно, что в системе отсутствует необходимый пакет и его требуется установить:


sudo apt install libnotify-bin

При соединении с другим узлом автоматически создаётся каталог, в имени которого присутствует R-localhost :


Влияет это на самом деле или нет, но при изменении в файле /usr/NX/etc/node.cfg строки

#SessionLogClean 1 убрать символ решётки

каталог R-localhost-... автоматически удаляется при закрытии соединения с хостом NoMachine.

После перезагрузок обеих хостов и проверки наличия интересующих каталогов, предмета интереса обнаружено не было.


Имеющийся на верхнем рисунке каталог cache содержит данные узла, который управляется с помощью NoMachine.

понедельник, 17 апреля 2017 г.

Приостановлено решение задачи BOINC после обновления ядра Linux – проблема с VirtualBox kernel drivers


Ситуация связана в сообщением от VirtualBox:

Статус: Отложено: Please update/recompile VirtualBox kernel drivers.

У меня VirtualBox используется как для запуска виртуальных машин, так и в интересах обработки задач распределённых вычислений проекта Cosmology@Home. Поэтому узнать о приостановке вычислений было не совсем приятно.


Что такое распределённые вычисления можно узнать здесь. Кроме того, можно узнать "Что делать компьютеру, когда он ничего не делает".

Ситуация возникла на системе Runtu (можно сказать, что это та же Ubuntu). Однако найденные рекомендации, например,

'/etc/init.d/vboxdrv setup'

sudo dpkg-reconfigure virtualbox-dkms

sudo apt-get remove virtualbox-dkms
sudo apt-get install virtualbox-dkms

не подошли, так как мной используетя VirtualBox из репозиториев не Ubuntu, а самого VirtualBox. Правильной командой является: 

 sudo /usr/lib/virtualbox/vboxdrv.sh setup

При выполнении этой команды система выдала три строчки:

vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
vboxdrv.sh: Starting VirtualBox services.


А после перезагрузки системы решение задач был возобновлено.


суббота, 15 апреля 2017 г.

Скрыть установленную программу из отображения в Windows


При разборе "авгиевых конюшен" попалась на глаза информация, которая была отложена на "потом", но так и не была востребована. Её первоисточник тоже потерялся, поэтому сослаться на него тоже не имеется возможности.

Итак, перечисленные ниже действия позволяют изъять установленную в Windows программу из отображения оснастки "Установка/удалени программ" или, как в Windows 7 и позднее, "Программы и компоненты". И хотя приводимое графическое отображение в Windows показано на Windows XP, в первоисточнике эти действия указывались именно для Windows 7 и выше.

В рассматриваемом примере производится скрытие установленного 7zip.


Производим манипуляции в реестром: запуск regedit

Для Windows 7: Пуск – Найти программы и файлы – regedit (или комбинацией клавиш "Windows" и R, а потом в появившееся поле ввести regedit).

Переходим в раздел реестра, отвечающего за отображение установленных программ.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Если система 64-битная, а ПО 32 бита, то необходимо перейти в ветку реестра

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall

Список получился большим, так как включает в себя и системные обновления Windows. Находим 7zip.


Имеется 2 способа. Первый заключается во внесении в ветку реестра дополнительного параметра, второй – в переименовании существующего параметра. Оба способа равнозначны.

1 способ. Cоздать параметр DWORD с именем SystemComponent и присвоить ему значение 1.


2 способ. Переименовать DisplayName в QuietDisplayName.



В Windows XP изменения произошли моментально.


Для возврата к исходному состоянию в первом случае удалите созданный параметр SystemComponent, а во втором – осуществите обратное переименование QuietDisplayName в DisplayName.

Если такой трюк Вам понравился, то сферу применения ему найдёте самостоятельно. Данный материал планировался для использования против проверяющих, которые работают "по прописям" и не обладают глубокими знаниями в области тонких настроек Windows.

Однако при этом всегда полезно помнить некоторые вещи, в частности,

Первое правило неполноценности начальства
Не давайте понять своему начальнику, что вы – умнее.

Наблюдение Питера
Сверхкомпетентность более нежелательна, чем некомпетентность.


вторник, 11 апреля 2017 г.

Новое ядро для Linux Mint

По умолчанию, политика обновлений Linux Mint не предусматривает обновлений ядра, так как это, по мнению его майнтейнеров, может отрицательно сказаться на работоспособности системы или в некоторых случаях привести к её полной неработоспособности.

Как правило, термин "майнтейнер" (жарг.) относится к специалистам,    занимающимся сопровождением компонентов, относящихся  к  операционной системе Linux и некоторых других элементов так называемого свободно распространяемого ПО (Open Source). Так как вся  ответственность по конфигурированию разрабатываемых сообществом  программистов компонентов может приниматься на себя самостоятельно, отдельные мейнтейнеры берут на себя те или иные   участки работы и занимаются отладкой, конфигурированием и сопровождением постоянно меняющегося набора компонентов,  решающего конкретную выбранную ими задачу.

Чтобы получать обновления ядра и обновления безопасности осуществите действия:

1. В политике обновлений поставьте "Всегда обновлять всё".


2. В менеджере обновлений (Правка – Параметры) необходимо установить галочки, как показано на рисунке ниже:


3. Включите отображение обновлений по уровням 4 и 5.


После этого у Вас станут отображаться новые ядра. Правда они будут помечены красным значком как "опасные", влияющие на стабильность системы. Отмечу, что за все 4 года работы на Linux Mint никаких отрицательных последствий от "обновлений всего" у меня не наблюдалось. Единичный случай касался невозможности запуска VirtualBox, ещё не поддерживавшим работу на установленном мной ядре. И то он относился к практикуемому мной обновлению ядра с kernel.ubuntu.com

Для установки самого свежего ядра зайдите на kernel.ubuntu.com и, основываясь на разрядности Вашей системы (32 или 64 бит) найдите последнее стабильное ядро. Например, на момент написания этой публикации самым последним стабильным ядром являлось 4.10.9


Для установки в своей 64-битной системе выбираю пакеты amd64.deb  linux-headers-4.10.9, linux-headers-4.10.9-generic и linux-image-4.10.9-generic: 


Скачиваю их и последовательно запускаю через установку пакетов Gdebi.

Проверьте, чтобы все зависимости были удовлетворены. Уведомление об этом должно высветиться чуть ниже заголовка окна:


После установки пакета уведомление должно поменяться на:


Чтобы Ваша система загрузилась с новым ядром выполните в терминале:

sudo update-grub

Вижу в терминале:

Создание конфигурационного файла grub...
Найден образ linux: /boot/vmlinuz-4.10.9-041009-generic
Найден образ initrd: /boot/initrd.img-4.10.9-041009-generic
Найден образ linux: /boot/vmlinuz-4.10.8-041008-generic
Найден образ initrd: /boot/initrd.img-4.10.8-041008-generic
Найден образ linux: /boot/vmlinuz-4.10.6-041006-generic
Найден образ initrd: /boot/initrd.img-4.10.6-041006-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
завершено


Видно, что в настоящее время у меня системе имеется 3 ядра, поэтому одно можно удалить. Удалению подлежит ядро 4.10.6  Так как ещё не известно, как себя система себя поведёт с новым ядром, то предыдущее работающее ядро 4.10.8 оставляю (надеюсь, что Вы не станете удалять все ядра).

Как удалять старые ядра описано в этой публикации.

Ниже приводится листинг процесса удаления:

sudo apt purge linux-image-4.10.6-041006 && sudo apt purge linux-headers-4.10.6-041006
[sudo] пароль для ... (вместо ... будет отображён Ваш логин в системе):
Чтение списков пакетов… Готово
Построение дерева зависимостей      
Чтение информации о состоянии… Готово
Заметьте, выбирается «linux-image-4.10.6-041006-generic» для regex «linux-image-4.10.6-041006»
Следующие пакеты устанавливались автоматически и больше не требуются:
  git git-man liberror-perl libowncloudsync0 libqt5keychain0
Для их удаления используйте «sudo apt autoremove».
Пакеты, которые будут УДАЛЕНЫ:
  linux-image-4.10.6-041006-generic*
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 1 пакетов, и 1 пакетов не обновлено.
После данной операции, объём занятого дискового пространства уменьшится на 220 MB.
Хотите продолжить? [Д/н] y
(Чтение базы данных … на данный момент установлен 303461 файл и каталог.)
Удаляется linux-image-4.10.6-041006-generic (4.10.6-041006.201703260832) …
Examining /etc/kernel/prerm.d.
run-parts: executing /etc/kernel/prerm.d/dkms 4.10.6-041006-generic /boot/vmlinuz-4.10.6-041006-generic
dkms: removing: ndiswrapper 1.60 (4.10.6-041006-generic) (x86_64)

-------- Uninstall Beginning --------
Module:  ndiswrapper
Version: 1.60
Kernel:  4.10.6-041006-generic (x86_64)
-------------------------------------

Status: Before uninstall, this module version was ACTIVE on this kernel.

ndiswrapper.ko:
 - Uninstallation
   - Deleting from: /lib/modules/4.10.6-041006-generic/updates/
 - Original module
   - No original module was found for this module on this kernel.
   - Use the dkms install command to reinstall any previous module version.

depmod.......

DKMS: uninstall completed.
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 4.10.6-041006-generic /boot/vmlinuz-4.10.6-041006-generic
update-initramfs: Deleting /boot/initrd.img-4.10.6-041006-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 4.10.6-041006-generic /boot/vmlinuz-4.10.6-041006-generic
Создание конфигурационного файла grub...
Найден образ linux: /boot/vmlinuz-4.10.9-041009-generic
Найден образ initrd: /boot/initrd.img-4.10.9-041009-generic
Найден образ linux: /boot/vmlinuz-4.10.8-041008-generic
Найден образ initrd: /boot/initrd.img-4.10.8-041008-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
завершено
Вычищаются файлы настройки пакета linux-image-4.10.6-041006-generic (4.10.6-041006.201703260832) …
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 4.10.6-041006-generic /boot/vmlinuz-4.10.6-041006-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 4.10.6-041006-generic /boot/vmlinuz-4.10.6-041006-generic
Чтение списков пакетов… Готово
Построение дерева зависимостей      
Чтение информации о состоянии… Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  git git-man liberror-perl libowncloudsync0 libqt5keychain0
Для их удаления используйте «sudo apt autoremove».
Пакеты, которые будут УДАЛЕНЫ:
  linux-headers-4.10.6-041006* linux-headers-4.10.6-041006-generic*
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 2 пакетов, и 1 пакетов не обновлено.
После данной операции, объём занятого дискового пространства уменьшится на 79,9 MB.
Хотите продолжить? [Д/н] y
(Чтение базы данных … на данный момент установлено 297385 файлов и каталогов.)
Удаляется linux-headers-4.10.6-041006-generic (4.10.6-041006.201703260832) …
dpkg: предупреждение: при удалении linux-headers-4.10.6-041006-generic каталог «/lib/modules/4.10.6-041006-generic» не пуст, поэтому не удалён
Удаляется linux-headers-4.10.6-041006 (4.10.6-041006.201703260832) …


После завершения процесса должно высветиться приглашение командной строки, например:

manager@H67 ~ $

Как указано в листинге не удалённым остался каталог 4.10.6-041006-generic, который расположен в /lib/modules/. Поэтому запускаю Midnight Commander под суперпользователем (sudo mc) и удаляю его вручную.


После удаления ядра 4.10.6 обновляю конфигурацию загрузчика:

sudo update-grub
Создание конфигурационного файла grub...
Найден образ linux: /boot/vmlinuz-4.10.9-041009-generic
Найден образ initrd: /boot/initrd.img-4.10.9-041009-generic
Найден образ linux: /boot/vmlinuz-4.10.8-041008-generic
Найден образ initrd: /boot/initrd.img-4.10.8-041008-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
завершено


Перезагружаюсь и проверяю версию ядра:

uname -r
4.10.9-041009-generic


Если у Вас что-то работает не так, то вернитесь в предыдущей версии ядра. В рассматриваемом примере это будет 4.10.8

Плохих последствий от установок даже самых новых ядер, полученных от kernel.ubuntu.com у меня не наблюдалось. Но если вдруг ... у Вас не загрузится графическое окружение и при загрузке будет возможность или предпринять ещё одну попытку ли перейти в режим пользователя root.

Заранее

1. Установите заранее себе Midnight Commander: sudo apt install mc  При невозможности загрузки графического окружения Вы всегда сможете запустить Midnight Commander.

2. Сохраните в файл команды:

sudo apt purge linux-image- && sudo apt purge linux-headers-

и sudo update-grub

Запись на бумажке может потеряться, записной книжки в самый нужный момент не окажется под рукой. А файл с командами Вы увидите в Midnight Commander.

При загрузке без графического интерфейса

Первый вариант

1. Попробовать загрузиться с более "старым" ядром. Для этого (если Вы не занимались настройкой загрузчика) при появлении меню загрузчика с 10-ти секундным ожиданием нажмите на клавишу "стрелка вниз", чтобы выбрать дополнительные параметры.


2. После этого нажмите Enter и выберите из списка нужное ядро.


 Второй вариант 

1. Перейдите в режим пользователя root.

2. Запустите sudo mc и посмотрите в boot, какое последнее ядро Вы установили.


Как видно из примера, это ядро 4.10.9-041009

3. Запомните или запишите эти цифры. Эти цифры необходимо подставить после знака дефиса в первой команде, которую Вы сохранили в файл.

4. Теперь для возврата к предыдущему работающему ядру осталось выйти из Midnight Commander и выполнить команды:

sudo apt purge linux-image-4.10.9-041009 && sudo apt purge linux-headers-4.10.9-041009

sudo update-grub

После перезагрузки система должна загрузиться с предыдущим ядром, при котором у Вас всё было хорошо.

 Третий вариант  связан с изменением файла настроек grub, который называется grub.cfg


Не знаю, насколько это будет правильно, но интуитивно можно предположить, что возможна замена указанной версии ядра, загружаемого по умолчанию.

Для этого найдите строчку menuentry с указанием версии Вашей ОС


и ниже попробуйте поменять указанное ядро (ищите цифры, на рисунке эти цифры 4.10.9-041009) на предыдущее работающее


Перезагрузитесь.

Повторюсь, что за 4 года у меня ни разу не возникало ситуации с невозможностью загрузки системы в графическом режиме при установке новых ядер из kernel.ubuntu.com  Если Вы не планируете пользоваться новейшими ядрами kernel.ubuntu.com, а ограничитесь ядрами, которые будут предоставлены в рамках обновлений системы по уровню 5, то, надеюсь, что у Вас тем более не возникнет описанной выше гипотетической ситуации.