пятница, 1 декабря 2023 г.

NixOS 23.11

Поставил тут себе на ноутбук (в мае ещё) NixOS 23.05. Вчера вышла NixOS 23.11 - сделал апргейд. Некоторые вещи стали работать лучше, но вот дистрибутивный gnucash теперь падает. Пришлось заменить его на gnucash из flatpak.

Заодно в мае переехал на четвёртый Gnome. До этого все попытки заканичвались провалом. Сейчас уже стоит Gnome-45.1 и, надо сказать, этим уже можно пользоваться. Приятная фишка - если гном запущен под Wayland, то перемещение между рабочими столами можно делать быстро тремя пальцами по тачпаду. При таком управлении становится удобно иметь несколько тематических рабочих столов, а то и по одному приложению на рабочий стол (но я ещё психологически не дорос иметь 20 рабочих столов).

четверг, 11 января 2018 г.

Вывод курсов валют на Mate-панель (Gnome2)

Скрипт, вытаскивающий нужные валюты в одну строку:

#!/bin/sh

# Packages xmlstarlet and perl-libwww packages are required

USD_ID=R01235
EURO_ID=R01239

GET http://www.cbr.ru/scripts/XML_daily.asp |
     xml sel -t -v '//Valute[@ID="'$USD_ID'"]/Value' -o '$' -nl -t -v '//Valute[@ID="'$EURO_ID'"]/Value' -o '€' |
    xargs echo


Сохраняем скрипт в, например, /usr/local/bin/valutes.sh и делаем его запускаемым (chmod +x /usr/local/bin/valutes.sh).

Добавляем вывод на панель через аплет "Команда" (сейчас стоит Mate с русской локалью - в английском, наверное, Command).

По дефолту частота обновления стоит, кажется, одна секунда, что, конечно же, не подходит в данном случае. Поставил 600 секунд.

четверг, 14 декабря 2017 г.

Webex at Arch Linux

How to join the Webex meeting  for the Arch Linux 64-bit users

 

I did it! Installation of 32-bit browser is not required!

1. Uncomment multilib section in /etc/pacman.conf:
[multilib]
Include = /etc/pacman.d/mirrorlist
2. Install icedtea-web-jre32 and webex-meta from the AUR (I'm using apacman for AUR):
apacman -S icedtea-web-jre32 webex-meta
3. Install some additional packages to have sound works:
pacman -S lib32-libcanberra-pulse lib32-alsa-plugins
 4. Check sound.properties:
javax.sound.sampled.Clip=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider
javax.sound.sampled.Port=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider
javax.sound.sampled.SourceDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider
javax.sound.sampled.TargetDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider
#javax.sound.sampled.Clip=com.sun.media.sound.DirectAudioDeviceProvider
#javax.sound.sampled.Port=com.sun.media.sound.PortMixerProvider
#javax.sound.sampled.SourceDataLine=com.sun.media.sound.DirectAudioDeviceProvider
#javax.sound.sampled.TargetDataLine=com.sun.media.sound.DirectAudioDeviceProvider
 5. That's all! You can connect to webex meeting! I checked this with Firefox-57 and with google-chrome. Google-chrome does not open application directly - it downloads file which should be runned with Javaws (which have been installed with the icedtea-web-jre32 package).

пятница, 31 марта 2017 г.

Запуск Hiri в Arch Linux через Docker

В виду того, что на новой работе для обмена почтой используется Microsoft Exchange, я настроил в своём Arch почтовик Evolution. Функционально вроде бы всё есть, но до MS Outlook немного не дотягивает.

Решил поискать, какие ещё программы могут работать с MS Exchange из Linux и наткнулся на неизвестную мне ранее Hiri. Судя по скриншотам, может быть чем-то интересным, но под Arch программа не запустилась. Запуск Hiri с env LIBGL_DEBUG=verbose показал, что ей чем-то не нравятся мои версии библиотек Arch.

Так как мне надо было всего лишь "на посмотреть" и как раз недавно ковырял Docker, решил немного попытать Docker на тему запуска GUI приложений. В итоге, можно считать, у меня всё получилось, хотя есть ещё косяк - Hiri не отображает картинки в письмах. Думаю, не хватает какой-то QT-либы в контейнере.

И так, для начала необходимо создать файл Dockerfile в котором пропишем:

FROM debian

RUN apt-get update && apt-get install -y sudo wget libxcursor1 libxss1 libasound2 libxcomposite1 libxtst6 libxaw7 libxft2 \
    libxcb-keysyms1 \
    libxcb-image0 \
    libxcb-shm0 \
    libxcb-icccm4 \
    libxcb-sync1 \
    libxcb-xfixes0 \
    libxcb-shape0 \
    libxcb-randr0 \
    libxcb-render-util0 \
    libfontconfig1 \
    libfreetype6 \
    libx11-6 \
    libxext6 \
    libxfixes3 \
    libxi6 \
    libxrender1 \
    libxcb1 \
    libx11-xcb1 \
    libxcb-glx0 \
    xauth \
    libglu1-mesa \
    libxkbcommon0 \
    libxcb-xkb1 \
    libxslt1.1 \
    libgstreamer-plugins-base0.10


# Set timezone
RUN echo "Asia/Novosibirsk" > /etc/timezone

# Replace 1000 with your user / group id
RUN export uid=1000 gid=1000 && \
    mkdir -p /home/user && \
    echo "user:x:${uid}:${gid}:User,,,:/home/user:/bin/bash" >> /etc/passwd && \
    echo "user:x:${uid}:" >> /etc/group && \
    echo "user ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/user && \
    chmod 0440 /etc/sudoers.d/user && \
    chown ${uid}:${gid} -R /home/user

# Install Hiri
RUN wget https://feedback.hiri.com/downloads/Hiri.tar.gz -O /tmp/Hiri.tar.gz --progress=dot:giga && \
    cd /opt/ && \
    tar oxf /tmp/Hiri.tar.gz && \
    rm -f /tmp/Hiri.tar.gz && \
    chmod -R go-w hiri

USER user
ENV HOME /home/user
WORKDIR /home/user
CMD /opt/hiri/hiri.sh

Необходимо заменить таймзону Asia/Novosibirsk на подходящую. Если этого не сделать, календарь будет показывать время неправильно, несмотря на установку таймзоны в профиле.

Теперь в каталоге с Dockerfile выполняем команду
docker build -t hiri .
Это создаст образ с именем hiri. Теперь создадим из этого образа рабочий контейнер с именем hiri:
docker run -ti -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --name=hiri hiri

Контейнер будет создан и сразу запустится Hiri. По выходу из Hiri произвести запуск контейнера можно командой
docker start hiri
Не нужно опять запускать docker run!!! В этом случае вы получите исходную конфигурацию без персональных настроек.

Чтобы не проделывать самостоятельно работу  по созданию контейнера можно сразу скачать и запустить его с docker-hub:

docker run -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --name=hiri ktak007/hiri

В целом Hiri показалась симпатичной программой, но для начала использования мне не хватило возможности подключить календари Гугл.

четверг, 7 апреля 2016 г.

Akregator

Вдруг нашёл устраивающую меня читалку RSS-новостей - Akregator. Она KDE-шная, а я как раз в последнее время в KDE5 сижу.

В последнее время читал RSS через Thunderbird, но "почтовость" Громоптицы накладывает отрицательный отпечаток. Да и просто глюки присутствуют - например, у меня почему-то не открываются ссылки на WEB без копипасты.

среда, 27 мая 2015 г.

Автозапуск Guard под Emacs

Настраивал тут Guard по статье на Хабре

Вспомнил, что когда-то настраивал нотификацию, в которой вроде бы ничего сложного нет (у Emacs она работает, кажется, из коробки).

Недостаток такой нотификации в том, что если появилась ошибка, в Emacs только перекрашивается mode-line в красный цвет (если всё Ок, то зелёный), а на ошибку надо смотреть в терминал, где запущен Guard. Да и предварительно необходимо его там ещё запустить.

А что если запускать guard прямо в Emacs при начале работы с проектом?

Для запуска Guard из Emacs нашёл готовую библиотеку  ruby-guard. и положил её в ~/emacs/ruby-guard/

Обычно при начале работы с проектом я сначала открываю корневой каталог проекта в dired. Значит, цепляемся к Dired! Добавим это в ~/.emacs:


(add-hook 'dired-mode-hook ;; При открытии каталога в Dired
  (lambda ()
    ;; Если найден Guardfile, запускаем Guard:
    (if (file-exists-p (concat default-directory "Guardfile"))
      (progn
        (load-library "~/emacs/ruby-guard/ruby-guard.elc")
        (ruby-guard)))
      ;; подкрашивать строку в dired:
      (hl-line-mode)))

Теперь при открытии каталога, содержащего Guard-файл, у нас будет появляться окно с выполняющимся Guard и, как только у нас будут появляться ошибки проверки, мы сможем переходить на точку ошибки в файле, если добавим в ~/.emacs строку:

(add-hook 'shell-mode-hook 'compilation-shell-minor-mode)

Теперь, когда в guard-буффере появляется ошибка, мы можем перейти в нужный файл на строку с ошибкой просто кликом мышки на ошибке или клавишей Enter.

вторник, 29 октября 2013 г.

Блок герконовых кнопок

Специально для Jek снял блок герконовых кнопок от какой-то советской клавиатуры. В начале 1990-ых этот блок исполнял функции джойстика при Спектруме:


На видео можно посмотреть, как магнит подъезжает к геркону (некоторые кнопки от древности залипают):


В целом ощущения от нажатия рабочих кнопок похожи на ощущения от современных механических кнопок.

понедельник, 12 августа 2013 г.

Поиск недоступных IP из cfg-файла Mrtg

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

for addr in `awk '/^Target/{for(i=1;i<=NF;i++){if(match($i, "[0-9]+\\\.[0-9]+\\\.[0-9]+\\\.[0-9]+", a)) print a[0]}}' mrtg.file.cfg | sort -u`; do ping -c 1 $addr > /dev/null; RET=$?; if [[ $RET == 1 ]]; then echo $addr; fi; done

понедельник, 8 апреля 2013 г.

Mate 1.6 и флаг страны в индикаторе клавиатуры

Сегодня в обновил Mate с 1.4 до 1.6 и получил надписи ru/en вместо привычных флагов в индикаторе включенной раскладки. В комментах к одной из найденных статей есть упоминание, что вместо mate-conf-editor теперь необходимо применять dconf-editor.

В dconf-editor  необходимо в пути org/mate/desktop/peripherals/keyboard/indicator (schema org.mate.peripherals-keyboard-xkb.indicator) включить опцию show-flags.

Изображения флагов остались на месте:


$ ll ~/.icons/flags/
итого 8,0K
lrwxrwxrwx 1 ctac ctac   15 Янв 10 19:12 ru.png -> ru-symbolic.png
-rwxr-xr-x 1 ctac ctac 2,7K Авг 15  2012 ru-symbolic.png
lrwxrwxrwx 1 ctac ctac   15 Янв 10 19:12 us.png -> us-symbolic.png
-rwxr-xr-x 1 ctac ctac 3,2K Авг 15  2012 us-symbolic.png

среда, 17 октября 2012 г.

Настройка переключателя раскладок через Иксы в Debian Wheezy

Когда-то в стародавние времена, когда всяческие Гномы и KDE не умели сами менять переключатель раскладок, приходилось добавлять в файл /etc/X11/xorg.conf строку «Option      "XkbOptions" "grp:caps_toggle,grp:shifts_toggle,lv3:ralt_switch,grp_led:scroll,altwin:meta_win"» в секции настройки клавиатуры.

Переехав на awesome, я вспомнил о необходимости иногда редактировать конфиги Иксов, однако, к моему великому удивлению, при указанной конфигурации у меня работает только переключение по нажатию двух шифтов. Судя по логу /var/log/Xorg.0.log Иксы берут настройки клавиатуры из какого-то другого файла.

Не помню, в каких недрах Интернета нашёл я указание на то, что драйвер evdev заменят настройки на свои. Неясно только мне, почему всё-таки подключается grp:shifts_toggle - это теперь дефолтный переключатель или я где-то всё-таки его прописал? Один из способов решения - отключить драйвер evdev. Другой способ решения приведу здесь:

  1. Открываем файл /usr/share/X11/xorg.conf.d/10-evdev.conf
  2. Находим секцию настройки клавиатуры evdev
    Section "InputClass"
            Identifier "evdev keyboard catchall"
            MatchIsKeyboard "on"
            MatchDevicePath "/dev/input/event*"
            Driver "evdev"
    EndSection
  3. Добавляем туда уже упомянутую вначале строку XkbOptions:
    Section "InputClass"
            Identifier "evdev keyboard catchall"
            MatchIsKeyboard "on"
            MatchDevicePath "/dev/input/event*"
            Driver "evdev"
            Option      "XkbOptions" "grp:caps_toggle,grp:shifts_toggle,lv3:ralt_switch,grp_led:scroll,altwin:meta_win"
    EndSection
Кажется логичным прописать XkbOptions  в файле /etc/default/keyboard, но почему-то на моей системе это не помогает.

пятница, 17 августа 2012 г.

Awesome!

Утомили тормоза и глюки третьегнома и кде - вчера вечером решил попробовать что-то побыстрее, но необычное, т.к. различные Fluxbox и Openbox хотя и дают скорость, но при этом отбирают многие возможности DE, мало давая взамен.

И под руку попался менеджер окон Awesome. Я в восторге! Awesome - это, действительно, awesome! Скорость и возможности - а-ля Fluxbox. Плюс к этому возможность включить тайлинг - окна занимают весь экран, не перекрывая друг друга. Удобно, что можно комбинировать разные режимы. Отличная документация - мануал и web: http://awesome.naquadah.org/wiki/My_first_awesome/ru Поведение менеджера ровно такое, какое ожидаешь.

В общем, полный awesome!

среда, 15 августа 2012 г.

Установил Debian Wheezy на работе

На прошлой неделе установил Debian Wheezy вместо Squeeze на работе.

Надо сказать, вышла знатная эпопея. Сначала я попытался, как водится, обновить систему. Заменил в /etc/apt/sources.list упоминания squeeze на wheezy и после apt-get update набрал apt-get dist-upgrade. Сначала всё время что-то мешало выполняться этой команде. То одна зависимость не удовлетворена, то другая. Для обхода проблемы действовал проверенным способом - просто сносил проблемные пакеты. Пока не настала очередь glibc. Попробовал тогда сначала выполнить apt-get upgrade - и, ура, команда отработала успешно. Затем apt-get dist-upgrade, опять какие-то пакеты скачались, и опять, вроде бы, успешно. Но при перезагрузке система повисла - ядро почему-то осталось от squeeze. Кое-как вернувшись в систему, обнаружил, что ещё куча пакетов не установлена. Какого чёрта apt-get сообщил, что всё хорошо?! В итоге я несколько раз повторял операции upgrade и dist-upgrade, пока они не перестали что-то скачивать, и перезагрузился. Вроде бы система работала, но с какими-то страшными глюками. Gnome3 падал, KDE вовсе не запускался, а другие оболочки, типа Fluxbox, работали, но при нажатии Alt-F1 почему-то падали иксы (я давлю по привычке из Gnome2 в надежде увидеть меню).

Разбираться со всем этим глюкаловом мне было абсолютно лень, и я просто установил Wheezy с нуля. Ву-а-ля! Система оказалась в рабочем виде.

Так как ранее дома, не вынеся ужасов третьего гнома, я переехал на KDE, то и здесь я попытался работать в KDE. Во-первых, KDE почему-то жутко тормозил со включенными эффектами, хотя Compiz в squeeze до него на этой же машинке летал. Но и отключив эффекты, я не смог работать в KDE. Всё-таки, дома я в KDE не работаю, а только читаю статьи.

В результате опять ушёл в Gnome3. Надо сказать, он солидно оброс улучшающими жизнь расширениями, хотя не все из них работают нормально. Таких диких тормозов, как в KDE, не наблюдается.

Мессенджер Empathy здорово интегрирован в третий гном, но сам по себе убог - нельзя в ручную сортировать группы и у меня никак не вышло создавать метаконтакты, хотя в интернетах пишут, что это возможно. Использую старый добрый Pidgin, но он плохо себе представляет, в какую среду он попал.

Док сделал всегда видимым - вполне удобно на широком экране. Поставил плагин Evil Status Forever - имитация нормального трея. Теперь пытаюсь понять, как сделать скринсейвер.

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

Первая поломка велосипеда

В субботу поехал на бесплатное ТО. По дороге включил нижнюю передачу и переключатель скоростей попал в спицы. Осмотр показал, что ему пришёл полный кирдык. Причина попадания переключателя в спицы - моё падение и подгибание петуха, который, вообще-то, должен был сломаться, но только погнулся. В итоге заменил сломанный переключатель Shimano Alivio на новый Shimano Acera. Вроде как и апгрейд.

Попутно узнал странные вещи: такого петуха в магазине нет (официальный дилер Merida!) и мне его просто выпрямили (это не надёжно, надо искать новый). В теории, можно установить защиту переключателя, но защиты для моего вела опять же нет.

В воскресенье откатал 54 км на новом переключателе - полёт нормальный: http://twitpic.com/aierlr

четверг, 5 июля 2012 г.

Купил велосипед

В прошлый четверг купил себе велосипед Merida Matts TFS 100 D: http://www.cyclelab.com/products/MERIDA%20MATTS%20TFS%20100%20%282012%29.aspx



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

вторник, 5 июня 2012 г.

Линус Торвальдс: GNOME 3 — полный провал в User Experience


Линус Торвальдс: GNOME 3 — полный провал в User Experience - абсолютно согласен с Линусом. Честно пытался освоить жизнь в Gnome3 с тех пор как он появился в Debian Wheezy, но что-то не складывается. То extension какой-нибудь запуститься гному мешает (даже отключенный!) и приходится выпиливать его руками. То вдруг виснет ни с того, ни с сего. Идея гномовцев о том, что трей не нужен, это вообще вершина маразма - они предлагают всем переписать программы так, чтобы они выводили информацию средствами гнома3. Зачем тогда нужен freedesktop.org, в котором согласован единый протокол работы с треем?! Не понимаю, почему вообще ЭТО назвали гномом. Gnome3 является совсем другой оболочкой, чем был Gnome1 и Gnome2. Назвали бы здесь как-то по-другому, а Gnome3 был бы изначально копией Gnome2, но переписанный на GTK3 (как и было в случае с Gnome1->Gnome2). В общем,  я начал присматриваться к другим DE.

KDE вроде неплох, но я привык к GTK-приложениям. Хотя на 12 Гигабайтах памяти по фиг, но что-то религиозное внутри подсказывает, что это неправильно.

XFCE неплох, но что-то не нашёл в нём актуальной для моего домашнего использования красивой кнопки смены пользователя - только выход.

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

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

понедельник, 2 апреля 2012 г.

Чем посмотреть swf-файл

Задался тут вопросом, чем посмотреть swf-файл, хранящийся на диске. Гугл вывел на LOR, а LOR отправил на страницу http://www.adobe.com/support/flashplayer/downloads.html, откуда я скачал Download the Linux Flash Player 11.2 Projector. Всё просто!

среда, 29 февраля 2012 г.

Emacs, JavaScript и Folding

При работе с js в emacs не хватало фолдинга (свёртки кусков кода). В php это решалось через outline-minor-mode, которая в js сворачивает далеко не всё. Возможно, если бы не навороченные конструкции extjs-3, то работа outline меня бы устроила. Вспомнил про js2-mode. Для установки в Debian достаточно дать команду apt-get install js2-mode и перезапустить emacs.

Фолдинг сразу навешан на кнопки C-c C-o, что я нашёл вполне удобным (outline у меня висит на F4).

Для автозапуска js2-mode на js-файлы добавил в ~/.emacs:
(setq auto-mode-alist
      (cons '("\\.js$" . js2-mode)
        auto-mode-alist))

Немного не устроил способ отступов по умолчанию в js2-mode. Исправил через js2-mode-customize, что привело к появлению такого кода в ~/.emacs:
(custom-set-variables
 '(js2-auto-indent-p t)
 '(js2-bounce-indent-p t)
 '(js2-enter-indents-newline t)
)

понедельник, 22 августа 2011 г.

пятница, 3 июня 2011 г.

2gis NO_PUBKEY

Уже несколько раз устанавливал на Debian-ы 2gis и каждый раз мучительно вспоминаю, как установить ключи, чтобы apt-get не ругался. Решил записать:

# gpg --keyserver keyserver.ubuntu.com --recv 0984A1734DF6F320
# gpg --export --armor 0984A1734DF6F320 | apt-key add -
# apt-get update

P.S. Перед этим в файл /etc/apt/source.list необходимо добавить строку репозитория 2gis:


deb http://packages.redsolution.ru/2gis lenny non-free

lenny прописывать необходимо даже на wheezy