LINUX.ORG.RU

Crux


42

5

Всего сообщений: 30

fullscreen wm

На скриншоте CRUX c самописным wm на основе wmutils, который умеет только показывать окна на полный экран. Сверху dmenu для переключения между окнами. Обычно другие окна это страницы vimb. В качестве терминала st+tmux, запущены vifm, vim, fzf. Панели нет, вместо нее статусбар tmux'а. Шрифты: iosevka, M+.

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

 , ,

kazufukurou
()

Минималистичный CRUX без WM

wm="wmutils"
term="urxvt"
panel="urxvt"
shell="zsh"
editor="vim"
fm="vifm"
browser="vimb"
font="M+"
colors="Visibone Alt. 2"

dotfiles

Стало не хватать grid layout в bspwm. В результате поисков решил попробовать отказаться от wm совсем:) Сейчас в качестве wm выступают несколько shell-скриптов, использующих wmutils - набор утилит для управления окнами. Панель - игнорируемое окно urxvt. Все это управляется с клавиатуры при помощи sxhkd. По сути, это floating wm, но есть несколько команд для выстраивания окон в режиме master+slaves, grid и fullscreen. Скрипты расчитаны на 1-2 монитора. Не скажу, что на 100% доволен, это все работает медленнее обычных wm и есть глюки с фокусом. Возможно, самое время начать писать свой wm :)

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

 ,

kazufukurou
()

CRUX MATE

В CRUX не густо с различными видами DE, но вот завезли MATE, так что теперь в CRUX не без десктопа.

# cd /etc/ports
# curl https://raw.githubusercontent.com/KrugerHeavyIndustries/crux-mate/master/mate.httpup > mate.httpup
# mv contrib.rsync.inactive contrib.rsync
# sed -i 's/prtdir \/usr\/ports\/core/prtdir \/usr\/ports\/core\nprtdir \/usr\/ports\/mate/' /etc/prt-get.conf
# ports -u
# prt-get depinst mate --install-scripts

И ждём... На удивление собралось быстро, даже ядро Linux собирается и то дольше.

Запускается через exec start-mate в ~/.xinitrc, в итоге получаем такой няшный почти дефолтный второгном!

Ай-да на CRUX. ;)

>>> Просмотр (1920x1200, 697 Kb)

 , ,

Spoofing
()

Новогодние пингвинчики

Позволю себе начать серию новогодних скриншотов. :)

Одна замурррчательная девушка за 4000км от меня прислала новогоднюю открытку с пингвинчиками, с тёплыми словами, и предварительно надушив духами, а у меня не наберётся таких слов, чтобы выразить бурю испытываемых эмоций. :)

Скриншот рабочего стола, который отчасти видно на фото.

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

В ncmpcpp музыка из EVE Online. По правде говоря, ожидал чего-то такого же атмосферного от последнего аддона Legacy of the Void, но StarCraft II оказуалили и музыка уже не та, что была в первой серии StarCraft за расу Protoss. Очень, очень жаль.

Остальное как обычно: дистрибутив CRUX, последнее на данный момент ванильное ядро Linux 4.3.3, оконный менеджер FVWM, преимущественно консольное окружение. Из GUI разве что Firefox, да и тот с дефолтной GTK3-темой.

Перемещено Klymedy из screenshots

>>> Просмотр (2576x1936, 897 Kb)

 ,

Spoofing
()

CRUX 3.2

Многие наслышаны о таком замурррчательном дистрибутиве как CRUX, но не все горят желанием познакомиться с CRUX поближе. Что ж, сделаю это за вас.

На скриншоте представлен дефолтный CRUX, с Firefox, Transmission, и всё это с использованием новомодного тулкита GTK3. Оконный менеджер Openbox. Половина системы, в т.ч. /home, перенесена в tmpfs, чтобы экономить ресурс сами-знаете-чего. Немножко допилены /etc/rc-скрипты, чтобы система восстанавливала содержимое /home при загрузке. Только благодаря тому, что система остаётся очень простой — сделать с ней всё что угодно не составляет никакого труда, да.

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

Устанавливается CRUX в несколько простых шагов:

  • Разметка диска и создание разделов, fdisk /dev/sda && mke2fs -t ext4 /dev/sda1 && mount /dev/sda1 /mnt.
  • Запуск утилиты setup для распаковки архивов, затем setup-chroot для входа в установленную систему. Полезно знать, что в процессе установки вам будет предложено выбрать какие пакеты ставить, а какие нет. Вы можете, буквально, отключить всё, и выбрать только несколько пакетов наиболее важных для вас, например openbox, xterm и firefox, а всё остальное подтянется по зависимостям.
  • В /usr/src/linux-* лежит исходный код ядра, вам потребуется самостоятельно включить все необходимые опции и модули для вашего железа. make menuconfig && make -j5 all && make modules_install && mv arch/x86/boot/bzImage /boot. Лично я делаю проще: ставлю последнее ванильное ядро с http://www.kernel.org со всеми настройками по-умолчанию.
  • Прежде чем вы сможете загрузиться в свежую систему, остаётся только установить загрузчик. При использовании BIOS отредактируйте /etc/lilo.conf, указав путь до ядра /boot/bzImage, корневой раздел /dev/sda1 и выполните lilo. При использовании UEFI воспользуйтесь утилитой efibootmgr -c -l /bzImage -u "root=/dev/sda2", не забудьте включить опцию CONFIG_EFI_STUB в ядре. Если вам важно вернуть старые имена интерфейсов, eth0 вместо enp0s0, укажите net.ifnames=0 в параметрах загрузки к ядру.
  • reboot

Viva la CRUX!

После загрузки вы, конечно, получите голую консоль самого что ни на есть настоящего source-based дистрибутива с ванильным программным обеспечением.

При первом входе в систему как root вам предложат сразу же установить пароль, так же не забудьте создать пользователя для себя. groupadd username && useradd -m -g username -G wheel username && passwd username && su - username.

Для запуска графического окружения выполните startx. Для запуска оконного менеджера openbox потребуется добавить строку exec openbox-session в ваш ~/.xinitrc.

Первым делом подключимся к интернетам. Для Wi-Fi сети нужно указать пароль wpa_passphrase "net" "password" >> /etc/wpa_supplicant.conf и для подключения просто dhcpcd wlan0, dhcpcd сам запускает wpa_supplicant.

Непосредственно переходим к CRUX, что это и с чем его едят. CRUX использует систему портов, обновляется посредством сборки из исходных кодов. В состав CRUX включено всего три утилиты: ports для синхронизации дерева портов, pkgutils для управления пакетами в системе и prt-get для автоматизации установки зависимостей и обновления системы.

Для загрузки дерева портов выполните ports -u, для просмотра наличия обновлений ports -d, либо же запустить обновление в тестовом режиме prt-get sysup --test и при наличии обновлений оно покажет, что и в каком порядке будет собрано и установлено. Для, собственно, самого обновления, следует выполнить prt-get sysup и откинуться на спинку табуретки. =)

Система портов настраивается в /etc/prt-get.conf, и пожалуй единственное, что тут можно добавить, это makecommand fakeroot -- pkgmk в конец файла, чтобы сборка производилась без привелегий root. В /etc/pkgmk.conf не забудьте отредактировать строку # export MAKEFLAGS="-j2". Помимо этого, для ускорения сборки можно поместить порты в RAM mount -t tmpfs -o size=100% tmpfs /usr/ports, дерево портов занимает всего ничего — около 30мб, но сюда же будут загружены исходные коды, и здесь же производится сборка пакетов. Так например, для сборки firefox в tmpfs у вас должно быть около 12гб памяти.

Пакетный менеджер тоже очень прост, база данных файлов и их принадлежности к пакетам находится в файле /var/lib/pkg/db, но вам как пользователю об этом знать не обязательно. Пакет для CRUX представляет собой обычный .tar архив, и обычно именуется как name#version.pkg.tar.gz, но вы редко когда будете самостоятельно управлять пакетами используя pkgadd и pkgrm, за вас всё сделает prt-get. Так, чтобы установить mplayer со всеми зависимостями, вы просто выполняете prt-get depinst mplayer.

Для полной пересборки «мира» CRUX, как в Gentoo, можно выполнить команду prt-get update -fr `prt-get listinst`. Управляя опциями компиляции в /etc/pkgmk.conf можно добиться абсолютно аналогичных результатов как у Gentoo.

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

# for pkg in $(prt-get listinst); do pkginfo -l $pkg; done | sort -u > /tmp/db
# cd /
# find * \( -type d -printf '%p/\n' -o -print \) | \
  egrep -v "^(lost\+found|proc|sys|dev|run|tmp|root|home|boot|lib/firmware|lib/modules|usr/ports|usr/src)" | \
  sort > /tmp/fs
# comm -23 /tmp/fs /tmp/db

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

CRUX легковесный, очень простой и прозрачный дистрибутив.

Рекомендую всем, от начинающих пользователей до опытных специалистов. =)

>>> Просмотр (1366x768, 330 Kb)

 

Spoofing
()

Пикселов много не бывает

Оригинал 5760x1200 (PNG, 2,7MB), они же три 1920x1200.

Вообще... Вообще... Десктоп не нужен. Конфигурация (Pentium G3258 с разгоном до 3.9GHz, с затычкой вместо видеокарты GT730 GDDR5) собиралась ради одной любимой игры StarCraft II, не за горами выход заключительного аддона Legacy of the Void за расу протоссов — сейчас идёт бета-тестирование, посему решил тряхнуть стариной и пройти кампании Wings of Liberty и Heart of the Swarm ещё раз, что собственно, вы и можете наблюдать на скрине. :)

Помимо игрушки, на мониторах выполняется мониторинг всякого рода локалхостов, это и VDS, это и ноутбуки, работающие как сервер. То есть, VDS выполняет роль обратного прокси-сервера к которому обращаются клиенты, и уже до VDS проброшены ssh-тоннели с ноутбуков: сами тоннели запущены в tmux и именно поэтому они автоматически переподключаются при разрывах соединения, да, интернет-сервисы всегда доступны.

Наконец, на последнем мониторе допиливаю поиск по сайту: SQL-запрос для выборки статей из базы строится динамически, например если GET-параметром запросили ?category=Articles, то значит в SQL-запросе будет учтена категория, где искать; а если добавить к ней другой GET-параметр ?author=Spoofing, то так же будет произведён поиск по автору, сами же параметры можно перечислить через запятую.

По скриншоту: мой любимый CRUX, и, внезапно! evilwm, — потому что всем устраивает, больше ничего от WM не нужно. FVWM надоело вечно пилить. :)

Алсо, ставил я намедни Debian. Ну как ставил, скачал netinst образ, записал на флешку, загрузился... Хотел установить через интернет, но не получилось, потому что установщик Debian затребовал бинарный блоб от Wi-Fi адаптера, которого у меня нигде нет, небыло его и у самого netinst...

Хорошо, следом я решил попробовать Slackware, установил, проблем невозникло, но вот после первой загрузки нужно настроить сеть. Оказавшись в консоли, прикинувшись кактусом, чисто случайно наткнулся на /etc/rc.d/rc.inet1.conf, в котором описано множество специфичных и непонятных параметров для настройки сети. Что с ними делать? Непонятно... В итоге, сеть настроилась как и везде, двумя командами: wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf && dhcpcd wlan0.

Объясните дурачку, в чём преимущество дистрибутивов, если нигде ничего не готово к использованию? Когда возникает проблема, по моему опыту — в 95% случаех проблема связана конкретно с самим дистрибутивом, а не с софтом. Для кого разработчики изобретают якобы «удобные» сущности, да при том ещё и криво сделанные, если тот-же Wi-Fi во всех линуксах настраивается одинаково, всего двумя командами. Почему нельзя сразу обратиться к этим двум командам?

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

>>> Просмотр (5120x1067, 2729 Kb)

 ,

Spoofing
()

Тайлинг для домохозяек

Тайлинг упрощает жизнь, позволяя распологать окна рядом друг с другом, и следить за всем потоком информации. Существуют динамический, ручной виды тайлинга, и наверное еще один тип - «мышевозный», как в данном примере FVWM.

DestroyFunc FuncFvwmRaiseLowerX
AddToFunc FuncFvwmRaiseLowerX
+ I Raise
+ M $0
+ D FuncFvwmMaximize grow grow

DestroyFunc FuncFvwmMaximize
AddToFunc FuncFvwmMaximize
+ I ThisWindow (Maximized) Maximize
+ I TestRc (NoMatch) Maximize $[0-]

Mouse 1 W M FuncFvwmRaiseLowerX "Move"

Alt + Левая кнопка мыши как и во всех WM перемещает окно по рабочему столу, но если еще дважды кликнуть, то окно развернется, заполнив всё свободное пространство, при этом не затронув другие окна. Лично для меня именно этот вариант тайлинга оказался самым идеальным. Имеем полную свободу действий над окнами: примерно раскинул что куда, прокликал их и окна заполнили всё свободное пространство рабочего стола.

Тайлинг во всей красе.

Для полного счастья нехватало разве что панельки с нормальным списком открытых окон. Запилил на FvwmButtons. С часиками xorg-xclock. Поскольку читаем слева-направо, то расположено всё так, как расположено, чтобы читать содержимое окон было удобно слева-направо.

По интерфейсу как обычно. ОСь CRUX, FVWM, шрифт Mbb для кодинга в vim, а в rxvt-unicode дефолтный fixed.

Так и живём. :)

>>> Просмотр (1920x1200, 110 Kb)

 ,

Spoofing
()

Just another tty sshot

Когда в очередной раз спрашивают на ЛОРе, на какой дистрибутив перейти, ибо их %distro% уже не торт, — отвечаю CRUX. Сразу кидают тапками, мол, «это тот самый, где в консоли нету UTF?»

Господа, скажу раз и навсегда. Софт везде одинаковый. Линукс любой, какой не возьми, готов к десктопу. А рекомендую я всем CRUX, потому что это самый простой с точки зрения архитектуры системы дистрибутив, из которого собственным ручками собери хоть сервер, хоть десктоп — но ты сам будешь знать, что там к чему, и где нечему ломаться.
Если взять UTF в консоли, то оно работает, в т.ч. и в CRUX.

Дабы развеять все сомнения, прикладываю скриншот. CRUX, tty, мультиплексор tmux, в нем ncmpcpp, htop, irssi + xmpp, vim, man. Кинцо тоже можно смотреть: mplayer -vo fbdev2 filename; все работает из коробки (prt-get depinst mplayer).
Кстати, реализация xmpp одна из лучших я считаю, да еще и в таком православном IRC клиенте как irssi. Jabber сервер тоже собственный, на локалхосте, что не мешает сидеть в уютненьких конфочках на других серверах (единственное условие белый IP).
Качаем билды loudmouth, irssi и irssi-xmpp, ставим pkgmk -d -i, апосля чего в irssi набираем /load xmpp, подключаемся к серверу /xmppconnect username@jabber.ru/home password и обычным /join заходим в любую конференцию, все тем же /msg username@jabber.ru отправляем сообщения. Irssi жив!

Вернемся к CRUX. Поскольку он мало чем отличается от того же LFS, то первоначальная настройка Ш и локали так же проста:

# prt-get depinst console-font-terminus
# localedef -i en_GB -f UTF-8 en_GB.UTF-8
# export LANG="en_GB.UTF-8"
# setfont /usr/share/kbd/consolefonts/ter-v12n.psf.gz
# loadkeys /usr/share/kbd/keymaps/i386/qwerty/ruwin_alt-UTF-8.map.gz

Ставим Ш terminus (v12n, v14n, v16n...) для tty, генерируем локаль (руками, да, это не скрипт /etc/locale-gen во всяких арчах — тут все прозрачно и поставляется «как есть»), затем устанавливаем Ш и раскладку (переключение рус./англ. по правому Alt). Вот и все «трудности» CRUX.

CRUX это source-based дистрибутив: система ставится в бинарных пакетах, как stage3 у Gentoo распаковывается из архива, но дальнейшее ее обновление делается обновлением портов и сборкой из сорцов. Здесь конечно нет USE флагов, дистрибутив для минималистов, где все многое не нужное выкинуто, а если что: придется писать билд-скрипты самому. Хотя ничто вам не мешает просто пользоваться стабильным CRUX как Slackware, т.к. из коробки он вполне готов к дестопу, с иксами и браузером. =)

>>> Просмотр (1920x1200, 105 Kb)

 ,

Spoofing
()

Уютненькое гнёздышко

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

Поскольку девушки приходят и уходят, а компьютер как стоял — так и будет стоять, куда потратить деньги долго думать не пришлось. Девушек самих согревать надо, а видеокарта будет греть меня... Но железки подождут, впервую очередь потратился на то, что видно невооруженным глазом — три монитора Asus PB248Q, было это еще летом, на тот момент каждый стоил «всего» 15к деревянных, а учитывая нынешнюю ситуацию — полугодовой зарплаты было не жалко, стало теперь...

На фотографии 20141225_012.jpg собранный ПеКа из Pentium G3258 с разгоном до 3.9GHz, MSI H81M-P33, 8192MB RAM, SSD 64GB. К железу стал относиться поспокойнее, как к расходному материалу, который быстро устаревает, т.к. технологии на месте не стоят. Ведь всё железо упирается в финансы, которые ненакого тратить одинокому мужчине. Более я не берегу ресурс жесткого диска. :)
Жалею только, что не успел купить видеокарточку.

Общий вид стола: 20141225_006.jpg

Клавиатура + мышЪ: Microsoft Wired Desktop 600, к выбору девайса за которым провожу большую часть жизни подходил очень тщательно, других подобных клавиатур, тем более по цене до 500 рублей, просто не существует. Низкий профиль, приятный отклик.

Под монитором можно разглядеть Nokia N900 и две блокфлейты, — иногда балуюсь, копируя других диванных музыкантов с YouTube.

Операционная система CRUX (время загрузки 2-3 секунды), которую я считаю вершиной дистрибутивостроения линуксов, и использую на всех своих девайсах. На скринш..эумэ... мониторе открыт vim, в котором пилю блог.

За качество фотографий извиняюсь, сделаны на камеру N900. Ругайте. :)

>>> Просмотр (2576x1936, 975 Kb)

 

Spoofing
()

Старая школа, закос под ~1994 год

Oldschool-GUI. IceWM с темой OS/2 Warp 3. GTK+ с немного подправленной темой Crux. Стандартная тема IceWM'а «warp3» довольно сильно изменена (особенно цветовая гамма). Arch Linux. Не для любителей плазмы и гламура.

Update (для всех, кто говорит, что это далеко не 1994): да, оно не сильно похоже на 1994, просто используется тема warp 3, который вышел в 1994, поэтому я так и сказал. Понятно, что сглаживания и градиентов тогда не было. И да, я, таки, работаю за этим каждый день. Это, пожалуй, лучшее оформление, которое у меня было.

>>> Просмотр (1024x768, 76 Kb)

 , , , , ,

yppss
()