CRUX

Source Based дистрибутивы 8827 просм. 63 сообщ.

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

BigOrange:


или не переходить, всже же работает нормально, если не обновляться.

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

Другое дело - я. Засиделся в Slackware, хочется оптимизации. Хочется для себя создать идеальный дистрибутив, где нет ничего лишнего. CRUX позволяет это сделать, но, когда я хотел установить просто parom.tv, столкнулся с таким мешком зависимостей.

Для себя решил. Пилить CRUX всё равно буду. К слову, нашёл почему он тормознутый. Всё дело в pam. Эта зараза тормозит всё! Хотя в Slackware Пролетает моментом. "Прикрутили" плять... Откручиваю теперь...

Вобщем, лучше переустанови Arch. А если уж новых ощущений хочется, закатай на винт freedos. Расскажешь, как ты в инет выходил, как настраивал принтер...

Шучу...

cdrw:


лучше переустанови Arch

Пробовал, только время зря потратил, и конфиги заново накостыливал, которые забыл сохранить.

Чтобы поддержать тему, расскажу как я из простого менеджера окон IceWM сделал для себя десктоп-окружение. Просто вмостил в LXDE вместо OpenBox менеджер окон IceWM. Да, я знаю, что разработчики LXDE с этого начинали... Это потом они OpenBox выбрали за командира управления окнами по умолчанию. Но мне нравится именно IceWM. Решил реконструировать былую схему. Для моего CRUX, это самый лучший DE. Итак...

Интеграция IceWM в LXSession

По умолчанию разработчики LXDE определили имя профиля рабочего стола как LXDE. Это можно увидеть по названию каталога где находится файл конфигурации LXSession desktop.conf:

/etc/xdg/lxsession/LXDE/desktop.conf

Задача - запустить менеджер окон IceWM из LXSession, вместо предлагаемого по умолчанию WM OpenBOX. Чтобы оставить возможность запускать "чистый" LXDE в системе от разработчиков, создадим новый профиль специально для запуска менеджера окон IceWM. Конфигурационные файлы LXSession хранятся в домашнем каталоге пользователя ~/.config/lxsession/<Profile_Name>. В том случае, если файлы конфигураций в домашнем каталоге отсутствуют, LXSession загрузит общесистемные конфигурационные файлы из профиля /etc/xdg/lxsession/<Profile_name>. Для того, чтобы запускать IceWM отдельным сеансом в работу с помощью LXSession, создадим новый профильный каталог специально для запуска сеанса IceWM:

mkdir -p /etc/xdg/lxsession/IceWM

В каталоге-профиле должны находиться два файла:

autostart: В файле autostart помещают команды, которые будут выполнены в начале сеанса. Текстовый файл autostart не является shell-скриптом, но в каждая отдельная строка может содержать отдельную команду для выполнения. Если строка начинается с символа @, команда, последующая за этим символом в случае сбоя будет автоматически перезапущена. Строки, начинающиеся с символа #, являются комментариями.

desktop.conf: В файле desktop.conf определяют какой именно менеджер окон будет использоваться. Он должен находиться по адресу ~/.config/lxsession/LXDE/desktop.conf(по умолчанию там прописан Openbox).
Если этот файл не существует, LXSession выполнит его поиск по адресу /etc/xdg/lxsession/LXDE/desktop.conf.

Конфигурационный файл desktop.conf для профиля оконного менеджера IceWM может выглядеть так:

[Session]
window_manager=icewm

[GTK]
sNet/ThemeName=Clearlooks
sNet/IconThemeName=Faenza-Darkest
sGtk/FontName=Sans 10
iGtk/ToolbarStyle=3
iGtk/ButtonImages=1
iGtk/MenuImages=1
iGtk/CursorThemeSize=18
iXft/Antialias=1
sGtk/ColorScheme=
iGtk/ToolbarIconSize=3
iNet/EnableEventSounds=1
iNet/EnableInputFeedbackSounds=1
iXft/Hinting=1
sXft/HintStyle=hintfull
sXft/RGBA=rgb

[Mouse]
AccFactor=20
AccThreshold=10
LeftHanded=0

[Keyboard]
Delay=500
Interval=30

Другой пример файла desktop.conf для Lubuntu можно посмотреть здесь. Пример конфигурационных файлов IceWM можно подсмотреть на форуме Lubuntu.

Пример файла autostart
(/etc/xdg/lxsession/IceWM/autostart)

# Рабочий стол будет обслуживать PCManFM
@pcmanfm --desktop --profile IceWM
# Запускаем апплет NetworkManager
@nm-applet
# Запускаем звуковой микшер PNMixer
@pnmixer
# Включаем режим набора цифр на дополнительной цифровой клавиатуре
@numlockx on
# Запускаем композитный менеджер Cairo Composite Manager
@cairo-compmgr
# Запускаем XScreenSaver
@xscreensaver -nosplash
# Запускаем переключатель клавиатуры для X11 - gxkb
@gxkb
# Проигрываем звук приветствия входа в систему
@aplay /usr/share/sounds/icewm/login-ru.wav

Запускается LXSession в работу с помощью скрипта, с произвольным названием, например startlxicewm:

#!/bin/sh
# startlxicewm

#╔═════════════════════════════════════════════════════════════════════════════╗
#║ Если пользовательский каталог не существует, создаём его и копируем туда из ║
#║ системного каталога конфигурационные файлы по умолчанию.                    ║
#╚═════════════════════════════════════════════════════════════════════════════╝

if [ ! -d $HOME/.icewm ]; then
  mkdir $HOME/.icewm
  for FILE in keys menu preferences toolbar winoptions;
    do cat /usr/share/icewm/$FILE > $HOME/.icewm/$FILE;
  done
fi

#╔═════════════════════════════════════════════════════════════════════════════╗
#║ Старт сеанса менеджера окон IceWM                                           ║
#╚═════════════════════════════════════════════════════════════════════════════╝

# icewmbg &
# icewmtray &

exec /usr/bin/lxsession -s IceWM -e IceWM

Этот скрипт сохраняем по адресу:

/usr/bin/startlxicewm

Теперь скрипт startlxicewm можно запустить двумя способами. Чтобы сеанс LXSession "увидел" дисплейный менеджер типа GDM, создаём файл lxicewm.desktop следующего содержания:

[Desktop Entry]
Encoding=UTF-8
Name=LXIceWM
Comment=LXIceWM - Lightweight X11 desktop environment
Exec=/usr/bin/startlxicewm
Type=Application

и помещаем его по адресу /usr/share/xsessions. Теперь пункт запуска рабочего окружения LXIceWM появится в списке LXDM или GDM.

Второй способ запуска LXIceWM с помощью скрипта startx. Для этого создаём скрипт xinitrc.lxicewm следующего содержания:

#!/bin/sh
#  xinitrc.lxicewm

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap

#╔═════════════════════════════════════════════════════════════════════════════╗
#║ Объединение настроек по умолчанию и настроек клавиатуры.                    ║
#╚═════════════════════════════════════════════════════════════════════════════╝

[ -f $sysresources ] && xrdb -merge $sysresources
[ -f $sysmodmap ] && xmodmap $sysmodmap
[ -f $userresources ] && xrdb -merge $userresources
[ -f $usermodmap ] && xmodmap $usermodmap

#╔═════════════════════════════════════════════════════════════════════════════╗
#║ Старт сеанса менеджера окон IceWM                                           ║
#╚═════════════════════════════════════════════════════════════════════════════╝

if [ -z "$DESKTOP_SESSION" -a -x /usr/bin/ck-launch-session ]; then
    ck-launch-session dbus-launch --exit-with-session startlxicewm
else
    startlxicewm
fi

и помещаем его по адресу /etc/X11/xinit/. Теперь пункт запуска рабочего окружения LXIceWM появится в списке утилиты Slackware xwmconfig. Её я скопировал из дистрибутива Slackware в свой CRUX.

Если менеджер дисплея типа LXDM не используется, а LXSession запускается при помощи скрипта startx, для правильного функционирования Xdg-open в файл ~/.bash_profile нужно добавить выражение:

export DESKTOP_SESSION=IceWM

Сам IceWM нужно дополнительно настроить, возложив функцию выхода из сессии на LxSession. Для этого в файле ~/.icewm/preferences нужно запретить функции ShowLogoutSubMenu и ConfirmLogout:

#  Show logout menu in the program menu (Показ меню выхода из IceWM)
 ShowLogoutMenu=1 # 0/1

#  Show logout submenu in the program menu (Показ подменю пункта выхода из IceWM)
 ShowLogoutSubMenu=0 # 0/1

#  Confirm logout (Вывод подтверждения выхода из сессии)
 ConfirmLogout=0 # 0/1

И создать в меню пункт для выхода из сессии с помощью утилиты lxsession-logout. Команду выхода оформим в виде shell-скрипта:

#!/bin/sh

# Выход из сессии IceWM и проигрывание звука logout-ru.wav
# Чтобы убрать проигрывание, нужно закомментировать строку aplay
# и удалить (или закоментировать) символ амперсенд &

/usr/bin/lxsession-logout --banner                                   \
                          "/usr/share/lxde/images/logout-banner.png" \
                          --side top &
# Проигрываем звук выхода из системы
/usr/bin/aplay /usr/share/sounds/icewm/logout-ru.wav 

Сохраним его под названием logout-icewm в каталог /usr/bin/ и сделаем его исполняемым:

chmod +x /usr/bin/logout-icewm

Теперь прописываем его как команду для выхода из сессии IceWM в файле ~/.icewm/preferences:

# Command to start logout (Команда для выхода из сессии)
 LogoutCommand="/usr/bin/logout-icewm"

Должно работать. Позже выложу html вариант этой записки. Там в цвете и красивее, на мой взгляд...

было бы неплохо разъяснить в чём плюсы данной затеи и добавить картинок.

ещё смотрю, что некоторые вещи стартуют из /etc/xdg/
вроде можно безболезненно перенести всё в пользовательскую папку с конфигами?
а то вдруг при обновах перезапишется на дефолт

BigOrange:


было бы неплохо разъяснить в чём плюсы данной затеи и добавить картинок.

Картинок, каких?
Про плюсы вроде бы сказал - мне нравится IceWM. Или надо обязательно добавить, что XFCE фуфло, тормознутый, и меню у него не по моим стандартам. Переходит на GTK3, а я привык ко второму...

К слову, следующая заметка будет о том, как меню IceWM привести к стандарту старого Gnome, или MATE по новому...

cdrw:


XFCE фуфло

Обоснушь, или просто брякнул?


cdrw:


а я привык ко второму...

Я для себя, не на публику. Иногда, чтобы завистливых хохлов погнобить, публикую свои мысли... Ведь вы скоро здохнете... Радую.

Жди ждун-манкурт. Тебя уклониста там макаки из наротной милиции искали, пора на нули, нефик по гейропам ж**у спасать.

К слову, как ты смеешь писать на русском? Ведь у вас это запретили?


Добавлено позже:

redix:


Жди ждун-манкурт. Тебя уклониста там макаки из наротной милиции искали, пора на нули, нефик по гейропам ж**у спасать.

Так я сам этого хотел... Тебе этого не понять. Как вы задолбали, онанисты...


Добавлено позже:

Ясно. Хохлы меня за манкурта приняли... Интересно!


Добавлено позже:

Хочу немного политики. А политика, это умение врать тем, кто тебя избрал. У меня вопрос к redix, ты кого выбирал, недохохол жидовский? Онип тебе врут по полной... Но ты возбухаешь против россиян. Если бы ты не квакнул против Путина, разговаривали мы бы с тобою по старому. Но тебя заело... Ты немного вякнул. Запомни! Или откажись от русского языка или пиши иероглифами.

Ты же бомж натуральный, ни флага ни родины, никому и нигде ты не нужен. Будешь всю жизнь бегать попрошайничать по хаткам, без гражданства.

Удаляйте меня и отсюда. Сам напрашиваюсь...


Добавлено позже:

redix:

Ты же бомж натуральный, ни флага ни родины, никому и нигде ты не нужен. Будешь всю жизнь бегать попрошайничать по хаткам, без гражданства.

Гражданство у меня Российское. Своих не сдаю, как вы, холятня...


Добавлено позже:

redix, давай перенесём место баталий на vk.com или на facebook.ua... Там разберёмся. За что вы нас убиваете. Здесь технический портал, не место для разборок...


Добавлено позже:

Просто зассал! Хотя я видел, что он этот пост смотрел...
Сука.

@cdrw, то, что тебе нравится IceWM, - это понятно, но не достаточно.
Потому что непонятно зачем нужно эту прелесть заворачивать в LXDE, в чём выигрыш?

Нормальное выключение системы, не из командной строки.

@cdrw, не могет быть, что только ради этого.
можно же кнопки запилить или пункты меню
и есть же кнопка питания на корпусе

systemctl poweroff
systemctl reboot

или нет системд?

Это же для CRUX. Какой systemd? Хотя, ты прав. Можно было присобачить и кнопки. Но мне был интересен именно этот вариант... Я же просто поделился, это не руководство к действиям.


Добавлено позже:

Ещё есть такой фактор, как жена. Для неё "как в Windows", значит как у людей. Один из решающих факторов для меня. Это я с редиксом могу поспорить, а с женой... Да ну его нахрен!!!

не, ну должны же быть какие-то ещё плюсы от этого:
действия над файлами по ПКМ;
драг-энд-дроп;
какие-либо дополнительные манипуляции с окнами появились.

насколько увеличился жор ОЗУ (незначительно, но всё же)?
или наоборот, в LXDE появились фичи IceWM

Что такое ПКМ?
Есть же понятие WM, А есть DE. Какую из DE ты сам предпочитаешь? Правильный ответ у тебя в подписи. А почему так? Да потому, что есть выбор. Вот в винде выбора нет. Женился и всё... Как в жизни. А тут можно поиграться в конструктор.

Теперь на счёт преимуществ. IceWM сам по себе событие. Лёгок, а настраиваемость не изучили ещё даже сами авторы. Если ты писал хоть какие нибудь скрипты, должен знать, заложить возможность, не значит реализовать. Найдутся кадры, которые такие финты из этих возможностей сотворят...Ты можешь в сердцах даже подумать - и нафига я этот скрипт написал?

Теперь к делу. OpenBox легче будет, чем IceWM... Но нафига мне нужна эта уродина? Чисто из за того, что лёгкий? А настраиваемость? Никогда неуподабливался красноглазым подражателям крутизны, в их же понятиях. Почитать ЛОР, так там все такие крутые, всё знают, всех корёжит от новостей. Типа, они круче. А программ путёвых как не было, так и нет. Российского происхождения. Зато критиковать горазды.

Теперь о моей писульке. Честно скажи, стоит продолжать писать, или ну его нах...? Всё равно куча критиканов...

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

ПКМ - Правая Кнопка Мыши

XdgMenuMaker (генератор меню приложений для менеджеров окон)

xdgmenumaker - это инструмент командной строки, написанный на python, который генерирует меню приложений, используя информацию xdg, путем сканирования файлов *.desktop во всех каталогах $XDG_DATA_DIRS/application. Все приложения отсортированы в соответствии с основными категориями, указаннымив стандартах freedesktop.org. Пункты меню, сгенерированные xdgmenumaker, выводятся на том языке локали, которую пользователь выбрал при настройке системы.

В настоящее время xdgmenumaker поддерживает создание меню для blackbox, compizboxmenu, fluxbox, fvwm, icewm, jwm, pekwm, twm (и совместимых производных от них, таких как ctwm и vtwm) и windowmaker.

Для корректной работы xdgmenumaker, в системе должны быть установлены следующие пакеты:

Python 2.7 или 3.x
pyxdg
pygtk (для Python 2)
pygobject и gobject-instrospection (для Python 3)
Pillow (по желанию)

Генерирование меню для IceWM

Для генерирования файла меню без иконок годится следующая команда:

xdgmenumaker -f icewm > ~/.icewm/appmenu

Если же нужен вывод иконок приложений и разделов в меню, нужно добавить в команду опцию

-i
:

xdgmenumaker -i -f icewm > ~/.icewm/appmenu

Данная команда создаст сформированный файл с меню - appmenu. Для подключения его в файл ~/.icewm/menu нужно добавить в любом месте файла menu строку:

include appmenu

Выглядит так:

Комбинирование меню

Текстовый файл appmenu создаётся в таком формате:

menu "Приложения" /usr/share/icons/Adwaita/16x16/legacy/applications-other.png {
  menu "Аудио и видео" /usr/share/icons/Tango/16x16/categories/applications-multimedia.png {
    prog "Audacious" /usr/share/icons/hicolor/48x48/apps/audacious.png audacious
    ...
    prog "ТВ-плеер Паром" /usr/share/icons/hicolor/16x16/apps/paromplayer.png paromtv
  }
  menu "Графика" /usr/share/icons/Adwaita/16x16/legacy/applications-graphics.png {
    prog "GNU Image Manipulation Program" /usr/share/icons/hicolor/16x16/apps/gimp.png gimp-2.10
    ...
    prog "xfig" /usr/share/pixmaps/xfig.png /usr/bin/xfig
  }
  menu "Настройки" /usr/share/icons/Adwaita/16x16/legacy/preferences-desktop.png {
    prog "Adobe Flash Player" /usr/share/icons/hicolor/16x16/apps/flash-player-properties.png flash-player-properties
    ...
    prog "Хранитель экрана" /usr/share/icons/Tango/16x16/apps/xscreensaver.png xscreensaver-demo
  }
  menu "Офис" /usr/share/icons/Adwaita/16x16/legacy/applications-office.png {
    prog "Txt2tags" /usr/share/pixmaps/txt2tags.png txt2tags --gui
    ...
    prog "Просмотр документов" /usr/share/icons/hicolor/16x16/apps/evince.png evince
  }
  menu "Прочие" /usr/share/icons/Adwaita/16x16/legacy/applications-other.png {
    prog "hp-uiscan" /usr/share/icons/Adwaita/16x16/devices/printer.png /usr/bin/hp-uiscan
  }
  menu "Разработка" /usr/share/icons/Adwaita/16x16/legacy/applications-development.png {
    prog "CMake" /usr/share/icons/hicolor/32x32/apps/CMakeSetup.png cmake-gui
    ...
    prog "distcc monitor" /usr/share/pixmaps/distccmon-gnome-icon.png distccmon-gnome
  }
  menu "Сеть и Интернет" /usr/share/icons/Adwaita/16x16/legacy/applications-internet.png {
    prog "Firefox" /usr/share/icons/hicolor/16x16/apps/firefox.png firefox
    ...
    prog "wpa_gui" /usr/share/pixmaps/wpa_gui.png kdesu wpa_gui
  }
  menu "Система" /usr/share/icons/Adwaita/16x16/legacy/applications-system.png {
    prog "Cairo Composite Manager" /usr/share/icons/hicolor/16x16/apps/cairo-compmgr.png cairo-compmgr
    ...
    prog "Файловый менеджер Thunar" /usr/share/icons/hicolor/16x16/apps/Thunar.png thunar
  }
  menu "Стандартные" /usr/share/icons/Adwaita/16x16/legacy/applications-accessories.png {
    prog "GVim" /usr/share/icons/hicolor/48x48/apps/gvim.png gvim -f
    ...
    prog "Таблица символов" /usr/share/icons/Adwaita/16x16/legacy/accessories-character-map.png gucharmap
  }
}

То есть, в главном меню будет виден всего лишь один пункт - "Приложения". Остальные же пункты - "Аудио и видео", "Графика", "Настройки" и другие будут видны как подменю. Для выноса этих пунктов меню в основное поле меню, нужно удалить первую и последнюю строки файла appmenu:

menu "Приложения" /usr/share/icons/Adwaita/16x16/legacy/applications-other.png {
  ...
}

Этого можно достичь командой:

sed -i '1d;$d' ~/.icewm/appmenu
mv ~/.icewm/appmenu ~/.icewm/menu

В этом случае все созданные утилитой xdgmenumaker категории попадут в поле основного меню. Подключать файл appmenu в таком случае, к файлу ~/.icewm/menu уже не нужно. Для себя я формирую меню следующим скриптом из нескольких файлов:

#!/bin/bash
# Скрипт menu_update

xdgmenumaker -i -f icewm > ~/.icewm/menu_app
sed -i '1d;$d' ~/.icewm/menu_app
cat ~/.icewm/menu_1 > ~/.icewm/menu
cat ~/.icewm/menu_app >> ~/.icewm/menu
cat ~/.icewm/menu_2 >> ~/.icewm/menu

Файл ~/.icewm/menu_1 создаю вручную, в нём самые необходимые для меня приложения:

menu "Интернет" /usr/share/icons/Adwaita/16x16/legacy/applications-internet.png {
    prog "Браузер Iron" /usr/share/icons/hicolor/16x16/apps/iron.png /usr/bin/iron
    prog "SeaMonkey" /usr/share/pixmaps/seamonkey-icon.png /usr/bin/seamonkey
    prog "Firefox" /usr/share/icons/hicolor/16x16/apps/firefox.png firefox
}
separator
menu "Текстовые редакторы" /usr/share/icons/Adwaita/16x16/legacy/applications-graphics.png {
    prog "medit" /usr/share/icons/hicolor/48x48/apps/medit.png medit
    prog "SeaMonkey Composer" /usr/share/pixmaps/seamonkey-composer.png seamonkey -edit
  }

Файл ~/.icewm/menu_2 выглядит так:

separator
menufile "Программы" folder programs
menufile "Панель инструментов" folder toolbar

В результате моё меню выглядит так:


Добавлено позже:

В OpenBox такое возможно? Или в него просто влюбиться за компанию с лоровскими дебилами?

Написать ответ…