Bash
Всего сообщений: 14
RedFlux - интерфейс к Redshift в духе f.lux
Периодически пользуюсь то виндой, то линуксом и был удивлён отсутствию на Linux фильтра синего с вменяемым интерфейсом и возможностями. А без него глазам уже неприятно, к хорошему привыкаешь.
Версия f.lux на Linux не имеет графического интерфейса и вообще намертво привязана к геолокации. Для меня эта привязка вообще неактуальна, так как в моей комнате обычно закрыты шторы и в итоге темно (если я вообще дома днём), а вечером включается лампа и оказывается светлее. Redshift также по дефолту привязан к геолокации, но температуру выставлять позволил, хоть и не слишком удобно. Так что...
Сделал вот враппер для редшифта, чтобы его удобно было использовать, выставляя температуру вручную с пресетами как в f.lux.
Точнее, тут даже два скрипта - redflux консольный, который позволяет ставить кастомную температуру и на который удобно биндить хоткеи в WM, и redflux-gui в виде интерфейса со скриншота. redflux-gui писался сильно позже и сам является враппером над redflux. Написано всё целиком на Bash, в том числе графический интерфейс. Для GUI используется обёртка над tk под названием tkbash (https://github.com/phil294/tkbash). По итогу не особо нативный, но для утилитки пойдёт. Для иконки в трее используется yad. Сначала думал всё на нём писать, но быстро понял, что он в основном для диалогов.
В какой-то момент наткнулся на RedShiftGUI (http://maoserr.com/projects/redshiftgui/), увидев его в Puppy Linux. Попадись он мне раньше, ничего бы не стал писать. Однако так и пришось бы жить без пресетов, а, возможно, и ещё каких фич - прямое сравнение не проводил. А пресеты у f.lux очень вкусные, взял в итоге их.
По самому скрину смотреть особо нечего - юзаемый мной уже в течение лет восьми LXDE, в качестве дистрибутива Arch Linux. Визуализатор звука - glava, красивый миниплеер это из гугломузыки, по возможности превращённый в виджет через конфигу Openbox.
Для новости довольно мелко, а для скринов поди пойдёт.
Ссылка на GitHub: https://github.com/Nebula-Mechanica/RedFlux
>>> Просмотр (1680x1050, 116 Kb)
Дождливый XMonad
Терминал — urxvt, бар — polybar
Конфиги: https://github.com/malyutinegor/rainy
Видео с обоями: https://i.imgur.com/CTiwPki.mp4 (они обычно всегда отключены, включаю чисто чтобы помедитировать)
>>> Просмотр (1366x768, 752 Kb)
Когда клиенты хотят
Изучали программирование на Bash, и тут один из студентов поинтересовался, а нет ли под Linux какой интегрированной среды для разработки на Bash? Для тех, кто привык к VS т.п. решений?
Сказано — сделано, гуглим, находим. На скриншоте Visual Studio Code с плагином Bash-debug, который завязывает отладчик bashdb в этот редактор. Я как-то по привычке, по-старинке в Vim пишу, но может, есть в этом какие-то преимущества.
>>> Просмотр (1366x768, 65 Kb)
«Коньки» в gnome-panel
Вот такое накопипастил себе за вечер. CPU usage нормально не осилил.
Герой поста
https://github.com/p-e-w/argos
Кто-нибудь еще пользуется?
>>> Просмотр (1600x901, 104 Kb)
()
WSL прямо новый виток эволюции
Всё началось с того, что мне (в очередной раз) захотелось адекватный эмулятор терминала под офтопиком. Сразу оговорюсь, что офтопик используется для поиграть (грешен, да), но периодически сидя и убивая демонов в Diablo III или DOOM'е - звонок заставляет отвлечься и переключиться в работу.
В работе нужен, в основном, ssh. Но иногда нужны гуёвые приложения с рабочей машины. vncviewer помогает не всегда, да и подтупливает знатно (при этом на работе 2х24", а дома всего 1 на 21.5"... кто пробовал vncviewer в такой конфигурации - тот поймет). Поэтому ранее использовались извращения из серии подключиться по vnc к домашнему ноуту с линуксом или же вообще пойти и отобрать его у жены (обычно она на подключенном дисплее что-то смотрит, а я на встроенном, который прикрыт, что-то делаю).
Так вот недавно я купил ссд, накатил новенькую винду, завел bash, zsh, xserver (не знаю, почему раньше не получилось с иксами, всё реально просто), сделал shortcut на запуск terminator'а прям из меню «пуск».
Теперь на первом дисплее у меня может висеть открытая игра, а на втором в фуллскрин терминал. Более того, не сразу (xauth) получилось завести адекватный проброс иксовых приложений через ssh, но совсем чуть чуть копания, и всё работает.
Из странностей: я поставил powerline шрифты, и до ребута они были более приятны в плане адекватного сглаживания, но после что-то пошло не так. Починить не смог.
Еще screenfetch: uptime считается с момента запуска терминала, а не аптайм системы; шрифт берется с gtk конфига, а не с установок терминатора; видяху показывать не хочет :( ; можно запустить с sudo - тогда не будет эррора от awk, но тогда не верно отображается shell
Кстати, хотел юзать urxvt, но он не подхватывает конфиг .Xresources, поэтому я забил временно.
Вот такое маленькое приключение в мире ада и разврата от мелкомягких. Зато теперь иксовые аппликухи могут сразу отображаться, а проброс гуевых приложений с работы на домашнем оффтопике позволяет меньше извращаться с ноутбуком.
Для тех, кому интересен примерный план действий (спойлер чет не работает)
( Для тех, кому интересен примерный план действий )
PS. Лор под виндой показывать не буду :P :D
PPS. И да, то, с чего начинал: я, наконец-то, получил адекватный эмулятор терминала под виндой. Не всякие цигвины и иже с ними, а терминал!
>>> Просмотр (1920x1080, 291 Kb)
Все тот же OpenSUSE
OpenSUSE 13.2
На скриншоте, по часовой стрелке:
1.Vim со скриптом для чтения bash.im
2.Скрипт с погодой, и тд.
3.Скрипт для чтения bash.im
4.Top
5.Links
В GUI'ях запущен Firefox (для прослушивания музыки\фильмов)
>>> Просмотр (1366x768, 21 Kb)
Bash scripting on Android
Мало-помалу курю маны по Bash.
И пишу скрипт для выводы всякой инфы о телефоне (androinfo.sh)
Так, что можно переносить свои пк-скрипты на Android, хоть и с немного урезанным функционалом.
>>> Просмотр (1509x960, 339 Kb)
Мой конфиг grc для колоризации терминала
Решил составить для grc универсальный конфиг, выполняющий подсветку чисел, размеров («100 MB»), дат («21.02.2011»), /путей/от/корня, прав доступа («-rwxr--r--»), ip адресов и прочих вещей, часто встречающихся в выводе команд. И вот что получилось.
На тестовом скриншоте консоль похожа на новогоднюю ёлку, но при реальной работе всё нормально — т.е. не бесит.
Сам конфиг и соответствующий набор алиасов для оболочки можно взять у меня в бложике.
Пришлось помучиться с правильной подсветкой прав доступа. «В лоб» у меня не получилось при помощи ()-захвата фрагментов регулярки распарсить такое выражение, пришлось подсвечивать в 4 шага: сначала захватывать тип файла, а затем по 3 фрагмента rwx. Хотя возможно, я просто протупил что-либо. Остальные регулярные выражения довольно тривиальны.
Для ссылок подсветку делать не стал, т.к. она уже встроена в gnome-terminal.
>>> Просмотр (1280x1024, 679 Kb)
Зубрёжка подручными средствами
Не сумел найти ничего вменяемого готового, чтобы на гтк и с минимумом зависимостей, и нарисовал на досуге простейший скрипт на баше, выводящий по крону каждые 10 минут вот такие карточки в области уведомлений. В качестве словаря - вокабулярий с последней лекции по английскому. По ощущениям, очень способствует запоминанию новых терминов к следующей лекции - нужно просто скосить взгляд и проговорить про себя слово, зафиксировав ассоциации, связанные со смыслом. И от работы особо не отвлекает.
>>> Просмотр (567x400, 52 Kb)
bash - это на самом деле чат
...просто собеседник не знает русского.
Получено при помощи «примочки» к bash и следующего bashrc:
PS1="\n\[\033[34m\](\t) \[\033[1m\u/\w:\033[0m\n"
source preexec.bash.txt
function preexec() {
echo -e "\n\e[31m($(date +%X))\e[1m $(hostname):\e[0m"
}
preexec_install
На заднем плане - debian testing, openbox, conky, mpd, pidgin, deluge, sonata, iceweasel, и в кадр не попала tilda.
Обоина: 940K 0_2ca8b_8fe67145_orig.jpeg
>>> Просмотр (1440x900, 713 Kb)
Elegant GTK
Около месяца назад я уже выкладывал скриншот своего рабочего стола. Настроив рабочий стол, меня посетила идея
написать простенький скриптик, с помощью которого я бы смог быстренько развернуть все свои настройки для
GNOME'a на другой машине не тратя очередные пару часов на доводку интерфейса. Так вот и родился маленький
проетик с названием
Elegant GNOME Pack
Скриншот посвящается релизу 0.6.0, а также новой GTK теме(Elegant GTK), которая стала новой темой по умолчанию
(изначально использовалась тема Re Crono)
На данный момент в тему входят следующие компоненты:
- Тема иконок: AwOken v 1.0(модифицированная)
- Тема GTK: Elegant GTK v 2.0(на основе последней Murrine Engine из git)
- Тема Metacity: есть 2 варианта(со скруглёными углами и квадратными)
- Тема курсоров: Neutral++
- Обоина: gDIGE
- Тема для Smplayer
- userChrome.css для стилизации табов в Firefox, а также userContent.css для исправления чёрных полей ввода.
Приложение, которое собственно и настраивает всё это, написано на Bash с использованием Zenity(для создания GUI).
На данный момент основными возможностями являются:
- Автоматическая настройка GNOME'a
- Резервное копирование текущих настроек, с возможностью последующего их восстановления. После удаления темы, все предыдущие настройки возвращаются к прежнему состоянию.
- Настройка темы GDM2
Для Ubuntu Lucid существует PPA:
Ubuntu PPA
Для пользователей Archlinux:
Archlinux AUR Package
>>> Просмотр (1440x900, 599 Kb)
Gismeteo в conky на чистом bash
Получилось реализовать ( велосипед :) ) отображение прогноза погоды c gismeteo на чистом bash. При этом используются ресурсы отображения погоды динамически сливаемые (один раз) с gismeteo.ru Нашел аналог на питоне, но картинки он не показывал, а использовал weather.ttf
Конфигурация conky для получения результата, как на скриншоте:
${execi 600 ~/bin/weather.sh 99532 1 dtpw}
${execpi 600 ~/bin/weather.sh 99532 1 image 250,50}
${execi 600 ~/bin/weather.sh 99532 2 dtpw}
${execpi 600 ~/bin/weather.sh 99532 2 image 250,140}
Сам скрипт: http://dl.dropbox.com/u/3214935/Scripts/weather.sh
Инструкции по использованию прям в нем, для работы требуется curl. Критикуйте :)
>>> Просмотр (1024x600, 939 Kb)
Готова для десктопа
Ubuntu 9.04. Спустя некоторое время пользования GNOME и Compiz понял, что это «не моё», и поставил Fluxbox. Стрелочек нет :)
В ролях: Conky (вверху), root-tail (слева-внизу), Tilda + bash (на левом рабочем столе вверху), oowriter (выполняю задачи олимпиады «Покори Воробьёвы Горы»), Firefox 3.5.6, MOC (в выводе conky), за кадром - Pidgin и Deluge.
Запуск программ и управление плеером - на хоткеях.
~/.conkyrc: http://dpaste.com/141426/
~/conky/weather.sh: http://dpaste.com/141430/
~/scripts/mocp-status: http://dpaste.com/141432/
Обоина: http://omploader.org/vMzYxZg
Мои $PS1 и $PS2:
PS1="\[\033[1;36m\][\t]\[\033[0m\033[1m\033[36m\][\[\033[34m\]\u \[\033[32m\]\w\[\033[36m\]]\`errlev=\$?; if [ \$errlev != 0 ]; then echo \[\e[1m\e[31m\]:\(\$errlev\[\e[0m\]; else echo \[\e[1m\e[33m\]:\)\[\e[0m\]; fi\`\[\033[1;36m\]>\[\033[0m\] "
PS2="\033[1;36m?> \033[0m"
PNG-версия (осторожно, 2,1 МБ!): http://omploader.org/vMzYxaQ
>>> Просмотр (2880x900, 401 Kb)