LINUX.ORG.RU

Избранные сообщения moookino

Cloud-разработка в Chrome OS на ASUS Chromebit и Kubernetes+CoreOS

Галерея — Скриншоты

У меня давно настроен Kubernetes+CoreOS на одной машине и это позволяет мне экспериментировать с разработкой распределенных приложений дома и запускать разные сервисы вроде торрентов и транскодинга в условиях жесткой изоляции среды и ресурсов.

Я решил попробовать устроить себе среду разработки, которая будет соответствовать определенным критериям

  • Будет глобально доступна с любой машины в мире без установки софта кроме браузера.
  • При работе с другого континента не будет ощущаться задержка при печати как было бы в vim+tmux. mosh скорее всего бы не решил проблему с vim.
  • Глобально доступны по HTTPS веб-приложения запущеные в этой среде
  • В Linux среде где запускается разрабатываемое приложение можно заменить дистрибутив на другой за несколько минут, но сохранить home.

Чтобы эксперимент был чистым все это тестируется на ASUS Chromebit со стоковой ChromeOS, 2 ГБ памяти и ARM Rockchip Quad-Core RK3288C, которая размером с большую флешку и воткнута в телевизор LG 49LB550V. Потому шрифты могут быть чуть больше чем обычно, чтобы было лучше видно на телевизоре. Устройство очень маломощное, но работает быстро потому что в ChromeOS нету дискового swap, только RAM+zRAM и если что-то не влезает, то выгружается.

Скриншоты

  • Редактор Codiad в полноекранном режиме. В принципе можно установить любой другой, но для обычного редактирование текста он подходит. Если найду такой, который потребляет мало памяти и умеет режим vim, поставлю его.
  • tmux. Вот так выглядит контейнер для разработки. Он совершенно отдельный от Codiad и я могу менять в нем дистры простым редактированием Dockerfile. В него и в Codiad примонтирован один и тот-же каталог с исходным кодом. При смене контейнера home тоже сохраняется. В данном случае в контейнере последняя версия Ubuntu, но ядро как всегда остается хостовым от CoreOS. В контейнер заранее установлены средства разработки на C++, Go, Python, NodeJS.
  • Caddy, который вы видели запущеным в контейнере. Интересная часть заключается в том, что для него создается виртуальный хост, создается Let's Encrypt сертификат и производится авторизация. Это умеет делать и сам Caddy, но он тут просто для демо. Суть в том, что в данном случае это будет делаться на уровне nginx фронтенда для любого приложения открывшего порт 8080 в контейнере
  • tmux+vim. Если работать не издалека, то вполне можно просто пользоваться tmux+vim. Плагины на него устанавливаются в home и в основном продолжают работу при смене дистра, кроме тех, которым нужна перекомпиляция.
  • Внутренности. Это Kubernetes Dashboard. В ней вы видите некоторые из упомянутых выше контейнеров и еще много чего. Для временных изменений некоторые параментры контейнеров можно менять прямо в UI, но лучше конечно через файл конфигурации.

Изначально CoreOS машина разворачивается сама по iPXE на голый диск. Если система уже была установлена, то она просто загружается. После этого по SSH необходимо загрузить ключи и некоторый набор базовых сервисов Kubernetes. Теперь кластером можно пользоваться удаленно через kubectl. Я запустил там локальный docker реестр, потому вы видите localhost в названии некоторых контейнеров. На моей машине различные сервисы работают на Alpine Linux, Ubuntu или CentOS в зависимости от того, на чем было проще настроить конкретное приложение. Если разницы нету, то я использую Alpine, так как тогда контейнеры наиболее компактны.

Цепочка загрузки такая

  • BIOS
  • PXE
  • iPXE
  • Ядро CoreOS
  • systemd
  • Docker
  • Kubernetes
  • Сервисы из публичных образов и локальный Docker реестр
  • Сервисы из локального Docker реестра

В качестве сервера использую старый Dell ноутбук с Core i7-2630QM, 8GB RAM и сломаной батареей, ибо нечего ему пылиться с таким процессором.

Если я захочу подключить второй сервер, то мне нужно сделать два действия: сделать для второго сервера облегченный конфиг без части Kubernetes демонов и придумать как монтировать диски удаленно. Пока что персистентные каталоги монтируются в хост систему, что не будет работать если сервисы будут случайно мигрировать между машинами. Но если я это сделаю, то полностью програмная виртуальная сеть на flannel будет работать полностью прозрачно и контейнеры на разных будут общаться друг с другом так же просто как и раньше. Из того что можно настроить дома поддерживаются GlusterFS+Heketi, Ceph и NFS

Среди дополнительных удобств на сервере есть связка Transmission+Plex, интерфейсы которых тоже доступны глобально. Потому я могу пойти в гости, поставить torrent дома с телефона, а потом транскодированый и оптимизированый фильм можно посмотреть на телевизоре например через Chromecast, AppleTV, PS4, XBox, Android, Windows Phone или другой способ отобразить браузер с компьютера на телевизор.

В качестве заключения скажу что мне понравился такой способ настройки домашнего сервера. Использование Docker контенеров позволяет уравнять в легкости настройки опакеченый софт из дистрибутивов и софт, который устанавливается скриптом сборки на github. Они оба могут быть завернуты в контейнер на любом дистрибутиве и потом когда более не нужны могут быть аккуратно удалены. Kubernetes очень облегчил работу с виртуальными хостами, шифрованием, перенаправлением портов, изоляцией ресурсов, перезапуском упавших сервисов и проверкой их здоровья.

>>> Просмотр (1920x1080, 1069 Kb)

 , , ,

vertexua
()

Мультизагрузочная флешка с поддержкой UEFI

Форум — Linux-install

Привет всем! И снова я обращаюсь за помощью на уютный ЛОР :) Ситуация такая: нужно создать мультизагрузочную флешку с несколькими линуксами и фряхой. Пробовал следующий софт:
1) Multisystem. Не хочет закидывать netinst-образ Debian 8, а также Стимось (не спрашивайте зачем она мне).
2) Multiboot USB. Вообще половину дистров не видит (например CentOS 7 и Андроид).
3) YUMI. Линукс-версия аналогична предыдущему пункту, а вот виндовая, как я понял, не поддерживает UEFI.

В общем, подскажите, как создать мультибут флешку, чтоб она при этом могла грузиться на компах с UEFI? Перерыл уже половину гугла. Я уже даже согласен на Win-версию.

 , , ,

Sunderland93
()

Сворачивание теря в awesome

Форум — Desktop

Опять я со своими странными проблемами. Почти допилил свой awesome, остался трей. Всё на панели выглядит стилизованно, но значки в трее всё портят, особенно значoк скайпа. Хочется примерно как у него.

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

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

Даный код тестировался только на Awesome v3.5.4.

 ,

sudopacman
()

AwesomeWM lain & Fedora

Форум — General

Кто нибудь сталкивался, что в lain не работают асинхронные виджеты? Хотя на счет дефолтных не знаю, но abase не работают, причем именно в Fedora, которая установлена через netinstall. Ошибок никаких нет, просто пустота, например:

test = lain.widgets.abase({
    timeout = 3,
    cmd = "echo '123'",
    settings = function()
        widget:set_text(output)
    end
})

 ,

WiseAlex
()

Тайлинг моей мечты

Форум — Talks

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

Видео чтобы не описывать: раз, два.

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

 

Worron
()

Написал небольшой консольный индикатор батареи v0.0.3

Форум — Desktop

Потыкал палочкой C для общего развития и в процессе сделал себе индикатор батареи для тмукса (раньше грепал вывод acpi).
Может кому понадобится.

Так как строки для индикации состояния вбиты в заголовки в utf-8, пользователям экзотических локалей придётся поправить tinybatt.h.

Один из юзкейсов, который у меня был, это индикация скорости разрядки, если она превышает некоторый порог, см. ключ -r.

https://github.com/aidaho/tinybatt

P.S. Не осилил autotools. Какой-то ком засохшего говна, честное слово.

Вторая версия. Запилил поддержку нескольких батарей.
Третья версия. Можно переопределить в рантайме свистелки.

 , tinybatt,

aidaho
()

Во что играете?

Форум — Games

Цивилизация уже надоела, сижу, пялюсь в рабочий стол и не знаю во что поиграть. Во что сами играете?

 

PavelRyzhov
()

Делимся полезными кусками из ~/.vimrc и показываем свои статусные строки 2015 тред

Форум — General

Как говорили древние отцы-основатели редактирования текстов: « Damnosa quid non imminuit dies¹ ? »

Но мы им отвечаем: « Tempora mutantur et nos mutamur in illis² ! »

Делимся полезными и интересными кусками из своих конфигов, а также демонстрируем, кто на какой статусной строке в данный момент остановился и использует. Также это касается не общеизвестных плугинов или настройки/интеграции общеизвестных и общеиспользуемых. В общем синтастик или ЗадротДерево сюда не нужно, наверное, писать.

Я могу предложить (кое-что известное, но будет полезно новичкам, если такие есть):

  • Автопаста — не нужно нажимать :set paste перед пастой, чтобы сохранялись отступы, работает автоматически, добавить и забыть навсегда.
  • Кайфовставка — позволяет по хоткею кушающему моушины «замещать», т.е. заменять целевое слово (или моушин-цель) на то, что сейчас в буфере, с трудом вспоминаю, что я делал без этого хоткея.
  • Более лучший фолдинг — информация про к-во сложенных линий теперь справа + добавляет % от всего документа, картинка с этим и без.
  • Пипетка для верстальщиков — по хоткею вызывается пипетка (в зависимости от ОС — разная, на линуксе это zenity или Yad) с текущим значением на курсоре и авт. меняет при изменении.
  • Автопереключение раскладки — при переходе в normal mode и обратно, после настройки включает английский язык когда переходим в normal mode из insert mode, где был включен другой язык. Очень удобно, уже давно привык.
  • Удобно двигать строки/блоки — придумал чем занять бесполезные стрелки, используется vim-move, кстати предлагаю особо наглым упороться hardmode.
  • tmux-complete — комплитит в виме (добавляет в omnicomplete, т.е. безразлично какой комплитер используете neocomplete/YCM/etc) содержимое окон/панелей/сессий тмукса, в которых необязательно вим, может быть другое приложение либо просто выхлоп.
  • Переход на средину строки — текущей реальной (не виртуальной).
  • Режимо-зависимые курсоры — для тех, кто использует GUI-версию вима, я лично не использую.

А теперь по статусной строке. Почти два года сидел на airline, но вот недавно перешел на lightline, которая быстрее стартует и легче кастомизируется, а также не содержит кучу неиспользуемых (лично мной) возможностей. Попробовал еще ezbar, но японец пилит его под себя, хотя там есть кое-что интересное, насчет скорости:

lightline: 229.019  000.003: 
ezbar:     250.312  000.002: 
airline:   276.823  000.003: 
(если что, у меня еще около ~80 плагинов подгружаются), powerline не имеет смысла сюда рядом ставить, там секунды вместо миллисекунд :)

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

Показывайте ваши ништяки.

--------

¹ - лат. что не изменит губительное время
² - лат. времена меняются и мы меняемся с ними

 , ,

redhat
()

Red Flat Awesome

Галерея — Скриншоты

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

Еще скриншоты: традиционный с окнами[1] и все остальные[2][3][4][5][6][7].

На панели можно увидеть

  • Модифицированный taglist на самописных виджетах.
  • Набор индикаторов: иконка меню и оповещалка об обновлениях в одном, раскладка клавиатуры, регулятор громкости, почта, кастомный layoutbox. На громкости висит простенький виджет для моего любимого exaile[2], layoutbox умеет меню выбора режима тайлинга[2].
  • Сильно перепиленный tasklist[4][5]. Приложения обозначаются трехбуквенными алиасами, окна одного класса группируются в один значок. При наведении подсказка с полным именем или списком группы, по правой кнопке менюшка управления окном.
  • Специальный виджет для минитрея, точками обозначено количество приложений в трее. По клику/хоткею является собственно сам минитрей.
  • Индикаторы ресурсов - выдрал код из vicious и прикрутил свои визуалы. Была задумка сделать нескучные всплывающие виджеты с системной инфой, как раньше было у меня в доке, но энтузиазм закончился уже на первом, показывающем топ процессов[3]. Даже его не допилил до конца, память отображает криво.
  • Часы.

Виджеты на рабочем столе - перенес свои луа скрипты от коньков на базу awesome. Тут нет готовых датчиков, но на помощь снова приходит vicious. В целом средствами осома такие штуки пилить даже удобнее, ибо тру модульность и интерактивность. Зависимые от сети вещи подключены через модификацию asyncshell. Может быть имело смысл все через него пускать, но поздновато осознал насколько это нужная и полезная штука, лень переделывать.

Для пущего уюта установил uselessgap тайлинг от Lain. Сделал активные грани экрана. Немного переписал awful.menu, добавив автоскрытие, возможность вставлять неиндексируемые элементы(заголовки, разделители), автоматическую расстановку хоткеев и еще по мелочи[2][4]. На базе menubar запилил запускалку приложений[3] в стиле synapse, очень нравится такой визуал. Сильно скучал по классическому альттабу, даже накостылял кое-что, но потом некто Joren Heit выкатил няшный Familiar Alt Tab. Скрестив его и свои наработки получил такую переключалку[5][6]. Адским костылем с помощью asyncshell и rsvg-convert прикрутил адекватное масштабирование векторных иконок, заодно добавив смену цвета на лету. Сделал подсказку по хоткеям[7], как сами знаете где, с интерактивной подсветкой (пока без модификаторов).

Многое еще нужно допиливать, но надежда завершить все это и нормально оформить изрядно подтаяла за прошедшее время, так что решил вбросить то что есть, в сыром виде. Все скрипты можно посмотреть здесь. Пользуясь случаем, хочу поблагодарить unlog1c за его конфиги, некоторые вещи откровенно позаимствовал оттуда.

Awesome 3.5.6, compton, тема gtk - Boje, иконки ACYL, шрифты play и prototype.

>>> Просмотр (1920x1080, 123 Kb)

 ,

Worron
()

И снова Awesome, но на новой Gentoo и на новый лад

Галерея — Скриншоты

Скрин в два монитора (jpg, из-за размера png никак)
Состав приложений не сильно поменялся - разве что Gajim поменял на Vacuum IM да Geany поставил.
Генточка уже на новом ноутбуке, EFI, amd64, два монитора, все дела.
Тема GTK поменялась не очень - в основном цвета сделаны потемнее, да немного своей редакции.
Для zsh написан свой минискриптик вроде screenfetch. Мониторы поделены так: на маленьком (ноутбучном) - терминал и плеер, на большом все остальное в тайлинге. При этом мониторы в панораме - меню слева, часы и меню юзера - справа, как если бы это был один большой монитор.
Цветовая схема в терминале - так, чтоб легко было проводить в нем длительное время с моими глазами :-) Шрифты: в GUI - Open Sans, в терминалах и редакторах Droid Sans Mono, врублена Infinality. Из еще скринов:

Новой машинкой доволен - запросто вместе крутятся компиляция в 4 потока да 2 виртуалки, и при этом десктоп не тормозит.
Все конфиги в git-репе - https://bitbucket.org/RADDyomin/raddyomins-configs/overview
Критикуйте.

>>> Просмотр (1920x1080, 227 Kb)

 , ,

DeadEye
()

Awesome hybrid

Галерея — Скриншоты

скрин с тайлингом ranger, vim, htop

Небольшое описание

  • ArchLinux
  • Awesome 3.5
  • Termite colorscheme hybrid
  • GTK2/3 FlatStudio
  • Moka icons(нигде и не видно:))
  • Шрифт Ubuntu
  • Терминал шрифт M+ 1mn
  • Firefox измененная vertex-dark

В осоме почти все дефолтные виджеты. Старался сделать что-то приятное глазу, в котором не тускло работать при свете и не ярко без оного. Справа вверху пустой синий бар - контроль громкости, на некоторых скринах видно, где громкость не 100%.

>>> Просмотр (1600x900, 652 Kb)

 ,

StillSteal
()