среда, 26 декабря 2018 г.

MikroTik: включение и выключение wifi и vpn по расписанию

На домашнем роутере MikroTik возникла идея организовать автоматическое выключение и включение по расписанию имеющихся точки wifi и канала vpn.

WiFi

Включение/выключение точки wifi производится командами:

/interface wireless enable 0 – включить точку (интерфейс wifi);

/interface wireless disable 0 – выключить точку (интерфейс wifi).

0 – это номер интерфейса wireless (начинается с 0). А так как данный интерфейс является единственным, то к нему применяется значение 0.


Далее остаётся через "System – Sheduler" создать 2 события.

В параметрах события определяется время наступления события (Start Time), устанавливается интервал между событиями 24 часа (24:00:00 или 1d:00:00:00) и указывается действие по событию. Аналогичная запись создаётся и для выключения wifi.

Действие по событию: в поле On Event вписать /interface wireless enable 0 для включения wifi или /interface wireless disable 0 для его выключения (см. выше).



VPN

Канал vpn представляет из себя клиент, осуществляющий соединение через L2tp с удалённым рабочим сервером, к ресурсу которого осуществляется доступ с целью выполнения ряда производственных заданий.

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


Со временем возникла идея включать и выключать данный клиент по расписанию. Действия  аналогичны тем, которые были осуществлены для wifi:

/interface l2tp-client enable 0 – включение клиента;

/interface l2tp-client disable 0 – выключение клиента.

Например, для выключения клиента в планировщик внесено событие:



Оптимальный MTU для VPN. После подключения к серверу vpn были произведены тестовые пинги, продемонстрировавшие, что наилучшая связь с необходимым узлом vpn (имя_хоста_vpn) обеспечивается не с MTU=1450, с которым маршрутизатор соединяется с сервером vpn по умолчанию, а с MTU=1440.

Значение складывается из суммы полученного наилучшего значения пинга с компьютера пакетами с флагом запрета фрагментации

Linux:  ping -c 4 -M do -s 1412 имя_хоста_vpn

Windows:  ping имя_хоста_vpn – f –l 1412   (пояснение)

и дополнительных байтов, необходимые на формирование заголовков пакета и запроса, на выходе с маршрутизатора, то есть интерфейса L2TP. Учитывая сказанное, данное значение вырастает на 28 байт и приобретает значение 1440.

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

PING имя_хоста_vpn (его адрес IP) 1412(1440) bytes of data.

Исходя из этого, правила Firewall были дополнены правилами Mangle для входящих и исходящих соединений. На рисунках ниже указано Mangle Rule для входящего соединения. Аналогичное правило создано и для исходящих соединений, то есть для Out. Interface.


Во вкладке Advanced:


Во вкладке Action:


вторник, 25 декабря 2018 г.

Linux Mint 19: выключить запрос на назначение chromium браузером по умолчанию

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


Когда ситуация, при которой необходимо постоянно щёлкать на крестик справа от кнопки "Сделать браузер по умолчанию" стала раздражать, то, естественно, были предприняты поиски настроек в chromium, которые бы отключили такой запрос.

Но ... , к своему сожалению, такой настройки найдено не было. Стремление раз и навсегда избавиться от постоянных запросов от chromium подпитывалось ещё и тем, что в Linux Mint 18.3 такого явления не наблюдалось.

Для решения возникшей проблемы требуется запустить редактор меню (в xfce это "Настройки – Редактор меню", что соответствует компоненту Menulibre) и внести для кнопки запуска браузера Chromium правку: к записи chromium-browser %U добавить -no-default-browser-check (между %U и -no-default-browser-check должен быть пробел).


Сохраните внесённые изменения и запустите снова браузер Chromium. Запроса на назначение браузером по умолчанию не должно быть.

Такую же команду (chromium-browser %U -no-default-browser-check) используйте для комбинаций клавиш клавиатуры, если Вы запускаете браузер chromium не мышкой, а нажатием комбинации клавиш.

При необходимости использовать сопоставление такого запуска терминальной команде chromium добавьте в файл .bashrc псевдоним (алиас):

alias chromium="chromium-browser %U -no-default-browser-check" и сохраните изменённый файл .bashrc.

Для редактирования .bashrc выполните команду xed ~/.bashrc

вторник, 18 декабря 2018 г.

Запуск Vidcutter App.Image через контекстное меню Thunar


После очередного сеанса мучений с VidCutter, обусловленного отсутствием каких-либо признаков запуска этой программы, было принято решение перейти на её версию App.Image.

В отличие от устанавливаемого из репозитория варианта, App.Image является самодостаточным пакетом, напоминающим partable program для Windows, и не зависит от компонентов python, на невозможность корректной работы которых система обратила внимание при запуске vidcutter в терминале.

Vidcutter Application Image был скачан отсюда:

https://www.videohelp.com/software/VidCutter

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



Для включения в контекстное меню менеджера файлов Thunar необходимо выполнить действия:

1) Запустить Thunar и вызвать "Правка – Особые действия".

2) Значком + добавить особое действие.

Имя: указать наименование пункта правого контекстного меню, например Open by VidCutter.

Команда: указать путь к файлу VidCutter и добавить символы %f, например,

/home/minter/Tools/VidCutter-6.0.0-x64.AppImage %f

В качестве значка укажите любой приглянувшийся значок.

В условиях появления поставить галочку только "Видео-файлы".



суббота, 15 декабря 2018 г.

Быстрый просмотр изображений из менеджера файлов Thunar


Предмет заметки составляет информация, найденная на ресурсе Наш блогосайт: Linux и "лирика",  и касается вызова средства просмотра графических файлов feh из менеджера файлов Thunar по команде правого контекстного меню.

Установите пакет:  sudo apt intsall -y feh

В особых действиях Thunar создайте новый пункт для просмотра изображений. В качестве команды введите feh %f, а в условиях появления укажите "Изображения":



Откройте любой файл изображений через правое контекстное меню Thunar. В ряде случае скорость открытия файла изображений может удивить.

Linux Mint 19: нечитаемые символы (кракозябла) в архиве zip


После передачи через pCloud с Linux Mint 18.3 на Linux Mint 19 архива zip просмотр его содержимого вызвал большое удивление. Архив был создан обычным способом через правое контекстное меню менеджера архивов среды GNOME, входящего в стандартную поставку Linux Mint.


Сразу отмечу, что рецепт подключения репозитория frol не сработает по причине отсутсвия у данного репозитория поддержки bionic (Linux Mint 19 использует репозитории Ubuntu Bionic).

~$ sudo add-apt-repository ppa:frol/zip-i18n
[sudo] пароль для minter:       
HTTP Error 404: Not Found
Не удаётся добавить PPA: «'Данный PPA не поддерживает bionic'».

Вариант "лечения" может заключаться в установке xarchiver:

sudo apt install -y xarchiver

Вызов Xarchiver производится из главного меню: "Приложения – Инструменты – Xarchiver" или через контекстное меню:


При открытии этого же архива в Xarchiver получен результат:


Выключить котика на экране


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

sudo apt install -y oneko

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





Если в момент, когда он почти догнал курсор, положение последнего резко поменять, то котик также меняет направление своего движения.


Котик всегда стремится догнать курсор, усесться на него, поумываться, свернуться клубочком и, мурлыкая, поспать.





После очередного перемещения курсора процесс повторяется.

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

В силу того, что в указанных выше источниках не было описано способа остановки этой игрушки, пришлось писать маленький скрипт bash, который можно оформить как значок (кнопку) запуска, назначить горячие клавиши стандартным способом или с помощью autokey.

Варианты скрипта (на выбор):

#!/bin/bash
pgrep oneko> ~/oneko.txt
VAR=`sed -n '1p' ~/oneko.txt`
kill -15 $VAR
rm ~/oneko.txt
exit

#!/bin/bash
oneko="$(pidof oneko)"
kill -15 ${oneko}
exit

#!/bin/bash
killall -TERM oneko
exit

Примечание. При отсутствии запущенных приложений при вызове Oneko курсор может отображаться в таком виде (на приводимых ниже картинках фон рабочего стола – космос со звёздами):



При выключении Oneko курсор мыши приобретёт вид:


После запуска любого приложения (например, файловый менеджер или Firefox) вид курсора мыши восстанавливается.

среда, 12 декабря 2018 г.

Сохранить выделенный текст в файл через скрипт bash


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

Сначала проведу маленькую демонстрацию.

Открываю текст (в рассматриваемом случае это файл pdf, но это может быть страница в браузере, файл Word и т.п.) и выделяю текст, который необходимо сохранить в файл.


Нажимаю на кнопку запуска, которая указывает на скрипт sh.





Перехожу в папку с сохранённым файлом и вижу, что скрипт отработал.



Правда здорово? Ну а теперь, собственно, и сам скрипт:

#!/bin/sh
out="/tmp/notes.$$"
dir="$HOME/Dropbox/Notes" # папка, в которую будут сохранятся заметки
xclip -o | zenity --width=600 --height=300 --title  "Текст заметки" --text-info --editable > "$out"
if [ $? -eq 0 -a "`cat "$out"`" != "" ]; then
  name=$(zenity --title "Название заметки" --entry --text "Введите название заметки")
  if [ $? -eq 0 ]; then
   if [ "`echo $name`" = "" ]
    then name="Заметка $$"
   fi
   cp "$out" "$dir/$name.txt"
  fi
fi
rm "$out"
exit 0

Примечание. Если скрипт должным образом не срабатывает, то, возможно, в системе отсутствует пакет xclip. Установите его командой  sudo apt install -y xclip

В свойствах значка запуска галочка в поле "Запускать в терминале" снята.


Кроме кнопок (значков) запуска можно использовать такой инструмент как autokey. Пользуюсь им в течение 7 или 8 лет и за это время мной оценено удобство назначения горячих клавиш на разные специфические операции. В Ubuntu и Linux Mint его можно установить одной командой

  sudo apt install -y autokey-gtk

В поле текст скрипта указать путь к скрипту, например:

import subprocess
subprocess.Popen(["/home/cemea/Tools/scripts/notes.sh"])