четверг, 12 декабря 2019 г.

My application list for Linux

Мой список приложений для Linux


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

  1. LibreOffice
  2. Mosh
  3. Tor
  4. KeePass2
  5. CherryTree
  6. TrueCrypt
  7. Shatter
  8. VLC
  9. Android-Studio
  10. Keybase
  11. VPNUnlimited
  12. ThunderBird
  13. VirtualBox
  14. KVM
  15. SublimeText
  16. Telegram
  17. Gramps
  18. TimeShift
  19. Bleachbit
  20. Anki
  21. XMind
  22. Xiphos
  23. Dropbox
  24. Redshift
  25. Bitdefender
  26. Audacity
  27. Blender
  28. GIMP



пятница, 25 октября 2019 г.

Remote connect to Linux Mint by RDP

Иногда возникает необходимость подключиться к удаленной системе, работающей на Linux Mint.

Вариантов несколько - SSH с консолью и пробросом графики, VNC, TeamViewer, и RDP.

В зависимости от задач и возможностей (открытые порты и настройки), можно воспользоваться вышеуказанными приложениями и протоколами.



Читая недавно статью на Хабре по переходу разработчика с Windows на Linux, обратил внимание на рецепт подключения к удаленному хосту с Linux Mint по RDP.
Привожу его здесь.

После настройки программ на рабочей машине встал вопрос настройки удаленных сеансов.
В силу ограничений офисного файрвола vnc использовать было нельзя т.к. порт 5900 был закрыт, а проверять другие какие доступны было лениво. Коллеги подсказали, что можно использовать xrdp, который работает на стандартом rdp порте и подключаться к нему можно с любого клиента: хоть на windows машинах, хоть на Linux. Но как выяснилось не все так безоблачно. При попытке входа в rdp я видел только черный экран после ввода своих учетных данных в окне авторизации. Каким-то чудом на форуме минта был обнаружен рецепт для исправления этой ситуации, привожу его тут, может кому пригодится тоже (я использую оконный менеджер xfce, поэтому и рецепт соответствующий, можно заменить на любой другой какой вы используете у себя):

echo "env -u SESSION_MANAGER -u DBUS_SESSION_BUS_ADDRESS xfce4-session" > ~/.xsession

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


пятница, 11 октября 2019 г.

Как мониторить SMART и выводить результат в Telegram

Решая свою задачу обнаружил интересный пример на Реддите.

SMART Info w/ Telegram Notifications [Linux]

Yesterday I asked how to get warnings of failing drives on Debian 8.8 Today I woke up to some very helpful comments that I'd like to stitch together for all of you to easily enable your server "speaking" capabilities. (Easier to learn it to speak than asking it through the terminal "How you doin?")
  • Installed smartmontools
  • Check all disks are SMART enabled:
    df -h
    sudo smartctl --info /dev/ | grep 'SMART support is:'
  • Create a new telegram bot via the botfather (see https://core.telegram.org/bots#3-how-do-i-create-a-bot). You will need the token of the bot from botfather.
  • I suggest download and installing Postman. A very powerful free API tool. Postman
  • Initiate a chat with your new bot.
  • Open Postman and send a GET to https://api.telegram.org/bot{YOUR_TOKEN}/getUpdates. You will need the chat id called "id": xxxxxx. This ID-number is shown several times in the return JSON file.
  • Open the file /etc/default/smartmontools
  • uncomment the lines
start_smartd=yes smartd_opts="--interval=1800"
  • In the file /etc/smartd.conf use the first example that might be uncommented already and change it to
DEVICESCAN -d removable -n standby -m root -M test -M exec /usr/share/smartmontools/smartd-runner
  • Create a bash file in the folder /etc/smartmontools/run.d called 10telegram-notify and fill in this content (replace token and chat id):
#!/bin/bash -e
chatid="YOUR_CHAT_ID"
error=$(cat $1)
apikey="YOUR_BOT_TOKEN"
curl -G --data-urlencode "chat_id=${chatid}" --data-urlencode "text=${error}" https://api.telegram.org/bot${apikey}/sendMessage
  • Make the file executable: sudo chmod +x /etc/smartmontools/run.d/10telegram-notify
  • Start the daemon sudo smartd. You should be receiving a test message in the chat with your bot. If not, you can investigate the error with sudo cat /var/log/syslog
  • Remove the -M test from your /etc/smartd.conf file, so that the line looks like this now: DEVICESCAN -d removable -n standby -m root -M exec /usr/share/smartmontools/smartd-runner
  • Finished :)

How to record sound by Linux application

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

Нашлось несколько вариантов:


Буду тестировать!

среда, 7 августа 2019 г.

Как запустить несколько аккаунтов Telegram Desktop в Linux


В чём проблема?

Приложение Telegram для Linux распространяется бинарным файлом. Файл запускается, указывается аккаунт при начальной настройке, осуществляется привязка к аккаунту и дальше можно работать с приложением. 
Однако, в настройках десктоп приложения отсутствует возможность добавить второй (третий и так далее) аккаунт.

Что же делать?

Решение следующее:
  1. Создать папку (каталог) с любым именем, в любом месте. Например:
    mkdir ~/my2ndaccount
  2. После этого нужно перейти в каталог с приложением. Например так:
    cd ~/Download/Telegram
    (если Телеграм загружен в каталог Download)
  3. Завершающий этап - запуск приложения:
    ./Telegram -many -workdir /home/user/my2ndaccount
В своей системе на базе Linux Mint я сделал копию кнопки приложения Telegram и поместил ее на верхнюю панель. Параметры кнопки выглядят вот так:
Add caption


пятница, 12 апреля 2019 г.

Linux + ntpd

На работе был время вначале брал с внутреннего сервера. Расхождение достигало около 21 секунд.
Многовато.

Сконфигурировал /etc/ntp.conf с немецкими серверами и помогла вот этот набор команд:

sudo service ntp stop
sudo ntpd -gq
sudo service ntp start


Потом проверил что всё работает правильно:

sudo ntpq -p


Ну и можно ещё так проверить - через веб.

Чем ntpdate отличается от ntpd - читать самостоятельно.

вторник, 2 апреля 2019 г.

Как синхронизировать календарь Mozilla Lightning с помощью Dropbox


Для рабочих целей использую Thunderbird на разных компьютерах.

Кроме основного календаря который у меня привязан к аккаунту Гугл есть ещё рабочая почта с рабочим календарём. И подумалось мне синхронизировать рабочий календарь - так, чтобы с любого компьютера можно было видеть список задач, событий в Lightning.


Сделать решил через облачный сервис Dropbox.


  1. Экспортировал текущий календарь в файл work.ics в каталог на Dropbox
  2. Удалил текущий календарь
  3. Создал новый календарь - как сетевой файл. В качестве пути к файлу указал путь к подготовленному файлу на Dropbox. Кроме Unix пути к файлу нужно в адресе указать тип сетевого протокола. В данном случае я использовал примерно так:
    "file:///home/myname/dropbox/calendar/work.ics"
  4. Проверил импортированные сообщения, всё работает.
Теперь можно из дома не только рабочую почту получать но и иметь информацию о событиях планах и задачах из рабочего календаря.

четверг, 21 февраля 2019 г.

Linux и PDF

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

Например, совсем недавно мне встретился документ PDF в котором все страницы были повернуты на 90 градусов вправо. Наклонять голову или распечатывать документ для комфортного чтения - неправильный путь. Нужно просто повернуть все страницы на 90 градусов в другую сторону.

Какие же инструменты существуют для этого?

Я воспользовался инструментом PDF-Shuffler. Всё очень просто - открываем документ, выделяем все страницы (например Ctrl-A) и нажимаем кнопку поворота. После этого документ сохраняем.

Также есть консольная утилита PDFtk способная обрабатывать нужный нам формат.





вторник, 22 января 2019 г.

Какая программа работает с файлом? Утилита lsof.

Иногда нужно понять, какая программа работает с файлом.

Например, при проверке на руткиты в логе есть информация о скрытых или подозрительных файлах.

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

Как определить - какому процессу принадлежит файл?

В Linux существует утилита lsof, с помощью которой и можно узнать принадлежность файла.

Команда:

sudo lsof | grep /адрес/файла

пятница, 4 января 2019 г.

Thinkpad и биометрический сканер

Вновь пришлось вернуться  к теме настройки биометрического сканера в Linux Mint применительно к Thinkpad T520 (Lenovo).

Итак, вот здесь можно посмотреть, какие аппаратные модули биометрических датчиков могут использоваться в Thinkpad. А здесь - общая картина по аппаратному обеспечению T520.

Посмотрим, что используется у меня:
rahem@T520 ~ $ lsusb
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 04f2:b217 Chicony Electronics Co., Ltd Lenovo Integrated Camera (0.3MP)
Bus 001 Device 004: ID 0a5c:217f Broadcom Corp. BCM2045B (BDC-2.1)
Bus 001 Device 003: ID 147e:2016 Upek Biometric Touchchip/Touchstrip Fingerprint Sensor
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Для меня оказалось достаточной информация размещённая на странице https://launchpad.net/~fingerprint/+archive/ubuntu/fingerprint-gui . Я хотел иметь поддержку биометрического сканера, но не пользоваться им для авторизации при локальном входе в систему (login). Для этого в терминале выполнил команду

sudo pam-auth-update

и убрал метку с чекбокса "fingerprint ..."



Этого оказалось достаточно.