вторник, 27 февраля 2024 г.

Выполнение составной команды через ПКМ Thunar и Nemo

При необходимости настройки выполнения составной команды через правое контекстное меню, как оказалось, в файловых менеджерах Thunar и Nemo имеются различия. Для своих нужд создавалась процедура автозамены ряда символов в файле txt через bash. При этом сначала определялся путь и имя обрабатываемого файла с тем расчётом, чтобы впоследствии первоначальный файл заменить обработанным в рамках выполнения скрипт.sh

В файловом менеджере Thunar вопрос решился просто – в строке команды особых действий указывается: 1-я команда && 2-я команда. Пример:

realpath %f > /tmp/filename.txt && /home/minter/Tools/scripts/modules/replace.sh

Остаётся только указать условия появления этого пункта в ПКМ Thunar и значок.

В файловом менеджере Nemo реализация осуществляется по-другому, так как указанная выше составная команда, будучи указанной в строке Exec файла скрипт.nemo_action не выполняется. Чтобы указанная последовательность команд была выполнена в строке Exec= необходимо указать (всё в одну строку):

Exec=sh -c 'realpath %F > /tmp/filename.txt && /home/minter/Tools/scripts/modules/replace.sh; exec bash'

пятница, 23 февраля 2024 г.

Размер выбранных данных через правое меню Nemo

В правом контекстном меню файлового менеджера Nemo (Cinnamon) можно добавлять пункты своих команд. В данной заметке рассматривается создание пункты подсчёта занимаемого места выделенных объектов (файлы/папки).

В принципе, такую информацию можно получить и через "Cвойства". Но в этом случае будет отображён размер занимаемого места на диске, а создаваемая команда отобразит "чистый" размер. Как пояснение можно привести следующий пример: "чистый" размер данных в 1 килобайт займёт 4 килобайт дискового пространства, другими словами, эти данные займут 1 кластер. При форматировании носителя по умолчанию применяется значение размера кластера в 4 килобайта. При форматировании с другим размером кластера он указывается явно.

Создадим файл size.nemo_action  Можно использовать любое другое имя для создаваемого файла, главное чтобы соответствовало правилу: имя.nemo_action

xed /home/.../.local/share/nemo/acrions/size/nemo_action

Вместо ... укажите имя своей домашней папки. Для Ubuntu или другой системы используйте имеющийся у вас редактор текста (например, gedit в Ubuntu).

В окне редактора впишите следующее (пример):

[Nemo Action]
Active=true
Name=Size
Exec=sh -c 'du -chs --apparent-size %F | zenity --text-info; exec bash'
Icon-Name=emblem-ap-only-office
Selection=any
Extensions=any;
Quote=double

🔰  Пояснение. В строке Icon= указан используемый мной значок. Укажите свой значок из имеющихся в вашей системе.

Сохраните изменения и закройте окно текстового редактора Сделайте созданный файл исполняемым либо через свойства файла (Права ‒ Разрешить исполнять как программу), либо командой  

chmod u+x /home/.../.local/share/nemo/actions/size.nemo_action

Что указывать вместо многоточия см. выше. Подробности по команде здесь.

При вызове на любой папке, файле или выделенных папках и файлах должен отобразиться пункт Size (это имя, которое можно изменить на другое в строке Name=). При нажатии на него будет выведен приблизительный размер выбранных данных, например:


Вывод можно организовать и в окне терминала. В этом случае содержание файла будет следующим:

[Nemo Action]
Active=true
Name=Size
Exec=sh -c 'du -chs --apparent-size %F | cat - /dev/tty; exec bash'
Icon-Name=emblem-ap-only-office
Selection=any
Extensions=any;
Quote=double
Terminal=true


суббота, 17 февраля 2024 г.

Дополнительные цветные значки папок в Cinnamon

В Cinnamon при использовании одной из предустановленных тем значков наборов Mint-Y отдельно взятой папке через правое контекстное меню менеджера файлов Nemo можно задать значок, под которым данная папка будет отображаться. Но для своих нужд набора из 12 цветов в некоторых случаях мне было недостаточно. Поэтому был создан дополнительный набор, элементы которого не отображаются при вызове правого контекстного меню, но доступны при назначении значка в свойствах выбранной папки:



Дополнительные значки для папок:

Дополнительные значки для папок в своей основной массе взяты из набора значков Papirus. В комплекте поставки данные значки являются изображениями формата svg, которые были преобразованы в png, который используется в наборах значков Mint-Y. Значок серой папки (folder-grey) при наличии аналогического значка в Mint-Y-Grey обусловлен тем, что по восприятию он немного более тёмный и насыщенный. То же самое относится и к значку жёлтой папки (folder-yellow) В качестве примера на рисунке ниже верхняя папка использует значок темы Mint-Y-Grey, а нижней назначен значок folder-grey: 


🔰  Примечание. При использовании обычного выхода RGB разница может быть не ощутимой и проявляться только при использовании выхода HDMI.

Поместите содержимое этого архива в скрытую папку ~/.icons или ~/.local/share/icons папки своего профиля (домашняя папка). Дополнительные значки отобразятся при переназначении значка папки. Пример для темы значков Mint-Y-Sand:


Если Вы намерены постоянно использовать одну и ту же тему значок и никогда её не менять, то поместите в указанное выше одно из мест только папку Miny-Y, а затем переименуйте её в название вашей темы значков (в составе архива значки для всех тем). Данное действие обусловлено тем, что собственно сами дополнительные значки содержатся только в папке Mint-Y, а во всех остальных папках находятся только символические ссылки на значки папки Mint-Y.

среда, 7 февраля 2024 г.

В Linux Mint 21.3 пропал wifi через usb wifi Realtek 8188eu


Долгое время мной использовался usb wifi Realtek, драйвер Linux которого 8188eu был "из коробки", то есть никаких дополнительных действий для его определения в системе не требовалось. Но сегодня случился "сюрприз" 😈 : компьютер сетей wifi не видит. 

Осуществить загрузку системы с предыдущим ядром не представлялось возможным, поскольку предыдущее ядро и его модули были удалены в процессе автоматической очистки. При этом команда lsusb даёт вывод:

Bus 002 Device 002: ID 0bda:8179 Realtek Semiconductor Corp. RTL8188EUS 802.11n Wireless Network Adapter

То есть, можно считать, что железо системой определяется.

Следующий шаг: sudo modprobe 8188eu

И вот здесь обнаружилась причина:

modprobe: FATAL: Module 8188eu not found in directory /lib/modules/5.15.0-92-generic

Почему? Может быть после тестирования другого usb Realtek, может быть ещё по какой-либо причине, детально разбираться не было времени и желания. Не исключено также, что способом перетыкания модема в usb его работоспособность была бы восстановлена. Но в дальнейшем хотелось бы иметь хоть призрачную гарантию того, что при очередном обновлении ядра wifi останется в рабочем состоянии.

Проба: sudo apt install rtl8188eu-dkms
Результат: Невозможно найти пакет rtl8188eu-dkms

Для поиска способа решения проблемы и устранения неработоспособности wifi потребовалось включить проводное соединение. 

Предпринятые действия:

sudo add-apt-repository ppa:kelebek333/kablosuz
sudo apt update
sudo apt install rtl8188eu-dkms

Результат:

8188eu.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/5.15.0-92-generic/updates/dkms/
depmod............
rtl8188eufw.bin firmware file copied to /lib/firmware/rtlwifi/
update-initramfs: deferring update (trigger activated)
Обрабатываются триггеры для initramfs-tools (0.140ubuntu13.4) …
update-initramfs: Generating /boot/initrd.img-5.15.0-92-generic

После перезагрузки wifi работает.  

суббота, 3 февраля 2024 г.

Инструменты просмотра скорости интерфейса сети в Cinnamon и xfce

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


В xfce – это сетевой монитор, добавляемый на панель через команду правого контекстного меню "Панель – Добавить на панель" или "Панель – Параметры панели – Элементы – Добавить" (может потребоваться установить соответствующий пакет: sudo apt install -y xfce4-netload-plugin).


Но если не стоит задача постоянно отслеживать входящую/исходящую скорость, то можно ограничиться консольной утилитой nload (sudo apt install -y nload).

Чтобы для её запуска не вводить команду в терминал создайте в своей домашней папке  ~/.local/share/applications  файл c разрешением исполнять как команду, например, Net traffic.desktop (в Cinnamon он отобразится как просто Net traffic) c содержанием:

[Desktop Entry]
Version=1.0
Type=Application
Name=Net traffic
Comment=
Exec=nload -u K wlx000b81935b9a
Icon=network-transmit-receive
Path=
Terminal=true
StartupNotify=false
Categories=GTK;Development;

В строке Exec запись wlx000b81935b9a соответствует имени беспроводного интерфейса, полученного из вывода команды iwconfig. Имя проводного интерфейса можно узнать из вывода команды ifconfig.

-u K указывает, что скорости необходимо отображать в значениях kByte/s. Как указать другие единицы можно узнать, набрав в терминале nload --help.

В строке Icon значение network-transmit-receive указывает на значок, под которым будет отображаться созданная кнопка запуска.

Categories=GTK;Development; указывает, что кнопку запуска нужно отобразить в разделе "Программирование" для Cinnamon или "Разработка" для xfce. Если такую строку не добавлять, то кнопка запуска будет отображена в разделе "Прочие" для Cinnamon или "Прочее" для xfce.

Результат выполнения:

 

Если значение величины собственной лени стремится к возрастанию 😊, то можно сделать так, чтобы окно терминала с отображаемой в нём информацией закрывалось автоматически. Для этого создайте исполняемый файл, например, net-traffic.sh с содержанием:

#!/bin/bash
sh -c 'nload -u K wlx000b81935b9a; exec bash' &
sleep 15
exit

А в созданном файле .desktop в строке Exec укажите путь к этому файлу, например,

Exec=/home/minter/Tools/scripts/modules/net-traffic.sh

После запуска окна терминала с отображением входящей и исходящей скоростей наступит период ожидания (пауза), длительность которого задаётся командой sleep. В указанном примере этот период соответствует 15 секундам. Нужное вам значение подберите экспериментально.