Zenway

Linux - это интересно!

Вы не вошли.

#26 01-05-2019 20:21:58

redix
Участник
Откуда: Shangri-La
Здесь с 14-02-2013
Сообщений: 2,398
LinuxChrome 74.0

Re: CRUX

BigOrange пишет:

помогла смена темы оформления.

Во времена GTK2 шрифт и его размер для темы мог быть запросто прописан в gtkrc файле, как сейчас (во времена GTK3) фик его знает, рихтовать css нет желания. Да и gtkrc частенько имел внутри неплохие комментарии, сомневаюсь чтобы такое же было и в css.


In Tux We Trust

Вне форума

#27 01-05-2019 22:37:49

BigOrange
Модератор
Откуда: Саратов
Здесь с 20-11-2010
Сообщений: 2,303
LinuxUnknown

Re: CRUX

@redix, где-то во время прихода ЖТК3 всё и началлось
но менял я тему в самом либрофисе, там есть такая неплохая зелёненькая
до этого на буржуйском было всё норм, а на православном квадратиками
а системная у меня стыренная с манжары и слегка переделанная vertex-maia-square с ней проблем нет


Долой DE! Даёшь WM!

Вне форума

#28 10-05-2020 16:23:56

cdrw
Участник
Здесь с 18-08-2013
Сообщений: 335
LinuxChrome 78.0

Re: CRUX

redix пишет:

Привет! Спортивнее было бы не вводить 100500 команд, а сделать скрипт, выложить его на гитхаб, или пастебин, и запустить его командой типа:

wget $url -O - | sh

или

curl https://www.example.com/files/coreinstall.sh -o new-filename.sh

Можно будет обработать ссылку линк-шортенером, и существенно укоротить команду.

ЗЫ. Если нужен пример, то могу выложить скрипт, которым я обстругивал центось.

Привет!
Попробовал и я соорудить скрипт. Выложи пожалуйста свой для центоси. Просто интересна логика мышления, чего я не предусмотрел. Учиться никогда не поздно...

Скрипт скачивает образ последнего CRUX на подготовленный для этого раздел. Автоматом монтирует образ, раздел для установки. Устанавливает, делает минимальные действия по настройке русификации и настройке prt-get и pkgmk, создаёт скрипт для chroot. Ты умеешь читать скрипты, поэтому вся основная инфа в самом скрипте. Скрипт имеет свой конфиг - install_crux.conf. Именно в нём определяются каталоги - откуда брать и куда устанавливать:

#╓────────────────────────
#║ Определение переменных
#╚═════════════════════════════════════════════════════─────────────────────────

# install_crux.conf

# Переменные, которые нужно ОБЯЗАТЕЛЬНО подстроить под свои требования 
# перед началом работы скрипта.
# Определитесь, куда вы собираетесь устанавливать дистрибутив.
# Можете определить рабочий каталог, куда будет скачпан ISO-образ CRUX


# Каталог в который будет монтироваться раздел, на который установим CRUX
TRG_CRUX="/mnt/crux"
# Рабочий каталог
WRK_CRUX="/wrk/"
# Каталог в который монтируется ISO-образ CRUX
SRC_CRUX="/wrk/isos"
# ISO-образ CRUX
ISO_CRUX="crux-3.5-updated.iso"
# http - адрес откуда скачаем ISO-образ CRUX
ISO_ADDR="https://crux.ninja/updated-iso/"

# Раздел, на который установим CRUX
DEV_CRUX="/dev/sda5"
# Раздел подкачки
SWP_CRUX="/dev/sda6"

#╓────────────────────────
#║ End of file
#╚═════════════════════════════════════════════════════─────────────────────────

Собственно сам скрипт install_crux:

#!/bin/sh

# версия 0.1 2020.05.10

#╓────────────────────────
#║ Определение переменных
#╚═════════════════════════════════════════════════════─────────────────────────

source ./install_crux.conf  || exit 1

#╓────────────────────────
#║ Подготовка к установке
#╚═════════════════════════════════════════════════════─────────────────────────

# Создать каталог, если не существовало ни его самого, ни ссылки на него.
if [[ ! -d "$TRG_CRUX" && ! -L "$TRG_CRUX" ]] ; then
    mkdir -p $TRG_CRUX
fi

if [[ ! -d "$SRC_CRUX" && ! -L "$SRC_CRUX" ]] ; then
    mkdir -p $SRC_CRUX
fi

# Проверяем наличие iso-образа в каталоге.
# Если нету, то скачиваем и монтируем.
# Если уже есть, то просто монтируем.

if [[ ! -f "$SRC_CRUX"/"$ISO_CRUX" && ! -L "$SRC_CRUX"/"$ISO_CRUX" ]]; then
    echo "Скачиваю образ $ISO_CRUX и монтирую его";
    ( cd "$WRK_CRUX"; wget -c $ISO_ADDR/$ISO_CRUX )
    mount "$WRK_CRUX"/"$ISO_CRUX" "$SRC_CRUX"
else 
    echo "$ISO_CRUX закачан ранее, просто монтирую его"
    mount "$WRK_CRUX"/"$ISO_CRUX" "$SRC_CRUX"
fi

# Монтирование раздела для установки CRUX

mount $DEV_CRUX $TRG_CRUX 

#╓────────────────────────
#║ Процесс установки.
#╚═════════════════════════════════════════════════════─────────────────────────

cd $WRK_CRUX

# Извлекаем менеджер пакетов pkgadd для установки пакетов CRUX
tar xvf $SRC_CRUX/crux/core/pkgutils*.tar* usr/bin/pkgadd -O > ./pkgadd
chmod a+rx ./pkgadd

# Создаём пустой файл базы данных установленных пакетов
mkdir -p $TRG_CRUX/var/lib/pkg
touch $TRG_CRUX/var/lib/pkg/db

# Устанавливаем пакеты набора core
for pkg in $SRC_CRUX/crux/core/*
	do echo "Установка пакета $pkg" 
	./pkgadd -r $TRG_CRUX/ $pkg
done

#╓────────────────────────
#║ Предварительная настройка дистрибутива
#╚═════════════════════════════════════════════════════─────────────────────────

# Создаём файл fstab

cat > $TRG_CRUX/etc/fstab << EOF
$SWP_CRUX        swap             swap        defaults                    0   0
$DEV_CRUX        /                ext4        defaults                    1   1
devpts           /dev/pts         devpts      gid=5,mode=620              0   0
proc             /proc            proc        defaults                    0   0
tmpfs            /dev/shm         tmpfs       nosuid,nodev,noexec         0   0

# Монтирование /tmp в ОЗУ. Раскоментировать по желанию строку ниже, 
# если ОЗУ 4Гб и больше.
#tmpfs            /tmp             tmpfs       defaults,size=2G,mode=1777  0   0
EOF

# Прописываем версию дистрибутива для того, чтобы загрузчик ОС GRUB
# не принимал CRUX за "неизвестный linux"

cat > $TRG_CRUX/etc/lsb-release << EOF
DISTRIB_ID=CRUX
DISTRIB_RELEASE=3.5
DISTRIB_CODENAME=posix
DISTRIB_DESCRIPTION="Crux64 3.5 updated"
EOF

# Системные настройки - русификация, шрифт консоли, временная зона

cat > $TRG_CRUX/etc/rc.conf << EOF
#╓────────────────────────
#║ /etc/rc.conf: system configuration
#╚═════════════════════════════════════════════════════─────────────────────────

FONT=LatArCyrHeb-16
KEYMAP=ruwin_ct_sh-UTF-8.map
TIMEZONE=Europe/Moscow
HOSTNAME=cdrw
SYSLOG=sysklogd
SERVICES=(lo net crond)

#╓────────────────────────
#║ End of file
#╚═════════════════════════════════════════════════════─────────────────────────
EOF

# Сохраняем оригинальный pkgmk.conf на всякий случай

mv $TRG_CRUX/etc/pkgmk.conf $TRG_CRUX/etc/pkgmk.conf.old

# Создаём новый pkgmk.conf преднастроеный под свои нужды

cat > $TRG_CRUX/etc/pkgmk.conf << EOF
#╓────────────────────────
#║ /etc/pkgmk.conf: конфигурация pkgmk(8)
#╚═════════════════════════════════════════════════════─────────────────────────

export CFLAGS="-O2 -march=x86-64 -pipe"
export CXXFLAGS="\${CFLAGS}"

export JOBS=\$(nproc)
export MAKEFLAGS="-j \$JOBS"

case \${PKGMK_ARCH} in
	"64"|"")
		;;
	"32")
		export CFLAGS="\${CFLAGS} -m32"
		export CXXFLAGS="\${CXXFLAGS} -m32"
		export LDFLAGS="\${LDFLAGS} -m32"
		export PKG_CONFIG_LIBDIR="/usr/lib32/pkgconfig"
		;;
	*)
		echo "Unknown architecture selected! Exiting."
		exit 1
		;;
esac

# PKGMK_SOURCE_MIRRORS=()
# PKGMK_SOURCE_DIR="\$PWD"
# PKGMK_PACKAGE_DIR="\$PWD"
# PKGMK_WORK_DIR="\$PWD/work"
# PKGMK_DOWNLOAD="no"
PKGMK_IGNORE_SIGNATURE="yes"
PKGMK_IGNORE_MD5SUM="yes"
PKGMK_IGNORE_FOOTPRINT="yes"
# PKGMK_IGNORE_NEW="no"
PKGMK_NO_STRIP="no"
# PKGMK_DOWNLOAD_PROG="wget"
# PKGMK_WGET_OPTS=""
# PKGMK_CURL_OPTS=""
PKGMK_COMPRESSION_MODE="xz"

#╓────────────────────────
#║ End of file
#╚═════════════════════════════════════════════════════─────────────────────────
EOF

# Сохраняем оригинальный prt-get.conf на всякий случай

mv $TRG_CRUX/etc/prt-get.conf $TRG_CRUX/etc/prt-get.conf.old

# Создаём новый prt-get.conf преднастроеный под свои нужды

cat > $TRG_CRUX/etc/prt-get.conf << EOF
#╓────────────────────────
#║ /etc/prt-get.conf: конфигурация prt-get(8)
#╚═════════════════════════════════════════════════════─────────────────────────

# Примечание: 
# Очередность расположения в списке каталогов с портами имеет значение
# Это на случай, если в каталогах с портами две версии одного и того же пакета
# При создании пакета приоритет будет отдан первому по списку каталогу с портами
prtdir /usr/ports/core
prtdir /usr/ports/opt
prtdir /usr/ports/xorg

# Раскоментируйте, если хотите использовать мультибиблиотечность в системе
#prtdir /usr/ports/compat-32

# Раскоментируйте, если хотите использовать неофициальные порты от сообщества
#prtdir /usr/ports/contrib

### Так подключают свой, локальный репозиторий
# prtdir /home/packages/build:mypackage

### Опции журналирования:
# writelog enabled         # (enabled|disabled)
# logmode  overwrite       # (append|overwrite)
# rmlog_on_success yes     # (no|yes)
logfile  /var/log/pkgbuild/%n.log
                           # path, %p=path to port dir, %n=port name
                           #       %v=version, %r=release

### Использовать альтернативный файл кэша (default: /var/lib/pkg/prt-get.cache
# cachefile /mnt/nfs/cache

### Вывод информации из файла README:
# readme verbose           # (verbose|compact|disabled)

### Предпочитать более новые версии sysup / diff
# preferhigher no          # (yes|no)

### При поиске использовать regexp
# useregex no              # (yes|no)

### Выполнять до/после-установочные скрипты; yes - эквивалентно опции
### --install-scripts option
# runscripts no            # (no|yes)


### ЭКСПЕРТ РАЗДЕЛ ###

### альтернативные команды
# makecommand      pkgmk
# addcommand       pkgadd
# removecommand    pkgrm
# runscriptcommand sh
#╓────────────────────────
#║ End of file
#╚═════════════════════════════════════════════════════─────────────────────────
EOF

# Создаём скрипт chroot.sh для входа в сеанс chroot

cat > ./chroot.sh << EOF
#!/bin/sh

#╓────────────────────────
#║ Скрипт смены корневого каталога chroot.sh
#╚═════════════════════════════════════════════════════─────────────────────────

if [ "\$UID" != "0" ]; then
    echo "Для chroot нужен доступ под root!"
    exit 1
fi
CRUX=\$1
if [ -z \$1 ]; then
    echo "Введите путь для смены корневого каталога!"
    exit 1
fi
if [ ! -d \$CRUX ]; then
    echo "Каталог '$CRUX' не существует"
    exit 1
fi

pushd \$CRUX

mount -v  --bind /dev   \$CRUX/dev
mount -vt devpts devpts \$CRUX/dev/pts -o gid=5,mode=620
mount -vt proc   proc   \$CRUX/proc
mount -vt sysfs  sysfs  \$CRUX/sys
mount -vt tmpfs  tmpfs  \$CRUX/run

if [ -e /etc/resolv.conf ]; then
    cp -L /etc/resolv.conf \$CRUX/etc/
fi

chroot "\$CRUX" /bin/bash -l

popd

echo "Сеанс chroot закончен."
echo "Отмонтирование виртуальных файловых систем"
umount -v \$CRUX/dev/pts
umount -v \$CRUX/dev
umount -v \$CRUX/run
umount -v \$CRUX/proc
umount -v \$CRUX/sys

exit $?

#╓────────────────────────
#║ End of file
#╚═════════════════════════════════════════════════════─────────────────────────
EOF

chmod a+rx ./chroot.sh

umount $SRC_CRUX
umount $TRG_CRUX

Если не лень, попробуй, мне важно мнение со стороны... Критику и матюки воспринимаю, только тихонько, шоб соседи не слышали... smile


14103011_GgHo.png

Вне форума

#29 10-05-2020 17:56:09

redix
Участник
Откуда: Shangri-La
Здесь с 14-02-2013
Сообщений: 2,398
LinuxChrome 81.0

Re: CRUX

#!/usr/bin/bash
#
# Postinstall script for MontanaLinux: https://img.cs.montana.edu/linux/montanalinux/
#

# Install ELREPO
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm

# Install Nux-Dextop repo
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

# Creating a /swapfile & enable it
fallocate -l 8G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo "/swapfile none swap defaults 0 0" >> /etc/fstab

# Enable CR repo & rebase system
# yum clean all
# yum-config-manager --enable cr
# yum update -y

# Install yum-pugins & update system
yum install yum-langpacks -y
rm -rf /var/cache/yum
yum update -y

# Install some other stuff
yum install dmz-cursor-themes gnome-disk-utility lightdm-settings gtk-murrine-engine \
firefox gvfs gtk-xfce-engine gtk2-engines beesu unzip p7zip p7zip-plugins conky \
file-roller xfce4-weather-plugin htop xdg-user-dirs alsa-utils pavucontrol Zim \
xfce4-xkb-plugin xfce4-taskmanager woeusb notify-python pygtk2-libglade wget firefox \
dconf-editor libusal genisoimage libarchive lzop ncompress autofs nano hwinfo \
librsvg2 xed bash-completion system-config-date system-config-users yumex xclip \
ntfs-3g xfce4-whiskermenu-plugin menulibre libXScrnSaver os-prober xviewer \
xviewer-plugins xfce4-genmon-plugin xfce4-time-out-plugin dconf ntfsprogs \
xfce4-pulseaudio-plugin light-locker gvfs-mtp xfce4-genmon-plugin numlockx \
xfce4-time-out-plugin xdg-user-dirs cairo libXft xorg-x11-server-Xvfb -y

# Resolve Thunar archive plugin problem
ln -s /usr/libexec/thunar-archive-plugin/file-roller.tap /usr/libexec/thunar-archive-plugin/org.gnome.FileRoller.tap

# Create folders in home dir
xdg-user-dirs-update

# Set hardware clock to UTC
hwclock --systohc --utc

# Move /tmp to RAM
cd /
sudo su -c 'echo "tmpfs         /tmp            tmpfs   size=2G,noexec,nosuid,rw,auto,nouser,sync,relatime,mode=01777       0 0" >> /etc/fstab'

# Disable SELinux
sed -i -e 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

# Limit the number of installed kernels
sed -i -e 's/installonly_limit=5/installonly_limit=2/' /etc/yum.conf

# Disable unnecessary services
localectl set-keymap no
localectl set-x11-keymap no
systemctl mask systemd-udev-settle
systemctl mask lvm2-monitor.service
systemctl mask NetworkManager-wait-online.service
systemctl mask postfix.service

# Install additional wallpapers
cd /usr/share/backgrounds
wget -O - "https://www.dropbox.com/s/dsyudgg06zab1z2/wls.tar.gz?dl=0" | tar xzf -

In Tux We Trust

Вне форума

#30 10-05-2020 18:02:09

cdrw
Участник
Здесь с 18-08-2013
Сообщений: 335
LinuxChrome 78.0

Re: CRUX

# Creating a /swapfile & enable it

Даже такое можно, как в винде?


14103011_GgHo.png

Вне форума

#31 10-05-2020 18:12:10

redix
Участник
Откуда: Shangri-La
Здесь с 14-02-2013
Сообщений: 2,398
LinuxChrome 81.0

Re: CRUX


In Tux We Trust

Вне форума

#32 10-05-2020 20:40:19

cdrw
Участник
Здесь с 18-08-2013
Сообщений: 335
LinuxChrome 78.0

Re: CRUX

Век живи, век учись... Из ссылки узнал про команду fallocate...


14103011_GgHo.png

Вне форума

#33 10-05-2020 20:50:00

redix
Участник
Откуда: Shangri-La
Здесь с 14-02-2013
Сообщений: 2,398
LinuxChrome 81.0

Re: CRUX

Я скажу тебе, что когда я только начинал переходить на Линукс, то я там почерпнул целую кучу знаний, еще во всяческих блогах. То что там есть, кроме дистро специфичностей, все работает в любом лине.


In Tux We Trust

Вне форума

#34 10-05-2020 20:56:31

cdrw
Участник
Здесь с 18-08-2013
Сообщений: 335
LinuxChrome 78.0

Re: CRUX

И ещё про MontanaLinux, чьими репами дистр пользуется? Или это уже самостоятельный дистрибутив?


14103011_GgHo.png

Вне форума

#35 10-05-2020 21:05:25

redix
Участник
Откуда: Shangri-La
Здесь с 14-02-2013
Сообщений: 2,398
LinuxChrome 81.0

Re: CRUX

У него репы центоси, да это центось и есть на самом деле, форк для универа штата монтана делает Scott Dowdle, насколько я понял для учебного процесса. Я беру мин образ, и проезжаю по нему этим и еще тремя скриптами, и получается centos 7 + xfce c мултимедиями и тем софтом, что я использую. Ставлю в один раздел ext4.
ЗЫ. Только сейчас какой то бок вылез, после обновления дико тормозит курсор и инерция у него какая то, не разбирался пока, не очень со временем свободным.


In Tux We Trust

Вне форума

#36 07-01-2021 13:59:35

shurumburum
Гость
LinuxFirefox 68.0

Re: CRUX

Похоже в этой связке ошибка
if [ -e /etc/resolve.conf ]; then
    cp -L /etc/resolve.conf $CRUX/etc/
fi

тот, который resolve.conf не resolve совсем, а  resolv, то бишь resolv.conf

В остальном всё работает на отлично.
С Новым голом!

#37 08-01-2021 00:37:11

BigOrange
Модератор
Откуда: Саратов
Здесь с 20-11-2010
Сообщений: 2,303
LinuxFirefox 68.0

Re: CRUX

@shurumburum, привет!
ты на CRUX?
как впечатления о системе?


Долой DE! Даёшь WM!

Вне форума

#38 15-01-2021 19:52:58

cdrw
Участник
Здесь с 18-08-2013
Сообщений: 335
LinuxChrome 87.0

Re: CRUX

shurumburum пишет:

Похоже в этой связке ошибка
if [ -e /etc/resolve.conf ]; then
    cp -L /etc/resolve.conf $CRUX/etc/
fi

тот, который resolve.conf не resolve совсем, а  resolv, то бишь resolv.conf

В остальном всё работает на отлично.
С Новым голом!

Спасибо за поздравление. Про ошибку знаю, сам позже заметил. Исправлять лень, да и положительный эффект есть. Кто-то, да заметил. Всёж приятно...


14103011_GgHo.png

Вне форума

#39 16-01-2021 19:09:44

shurumburum
Гость
LinuxFirefox 68.0

Re: CRUX

Оригинально!
Надо взять такой способ обратить на что-то внимание - на вооружение! 
А вообще, Ваша статья очень полезна.
Спасибо!

#40 16-01-2021 19:39:28

shurumburum
Гость
LinuxFirefox 68.0

Re: CRUX

Привет
Впечатления исключительно замечательные.
Я сторонник простоты и надёжности.
CRUX у меня ещё версии 3.3.
На большие версии пакеты не обновляю.
На отдельном разделе стоит последняя 3.6 версия, иногда обновляемая, но мне оно что-то не нравится.
По сравнению с 3.3 очень толстое, медленное и, как мне кажется, лишнего в мой любимый CRUX разрабы напихивают всё больше и больше... а зачем, непонятно.
А 3.3 летает и, что удивительно, не ломается... от слова совсем!
Мне, как минималисту по жизни, нужно совсем мало - geany, mtpaint, mpv, audacious, file-roller, gparted, FBReader и, конечно, милашка xfce4 (4.12) полностью, надёрганная ещё из 3.2 версии.
Само собой есть ворованное из slackware 14.2, все эти gvfs и прибамбасы для работы с смартфоном.
И все программки исключительно на GTK2.
Быстрые, надёжные и красивые.
Ну, и Firefox самый последний в компании с apulse ( пульсу я не ставил, не люблю её). Вот его я только и меняю регулярно... 
Торчать за компом некогда, а приведённый набор программ меня вполне устраивает.
Для меня интернет чисто источник знаний и способ общения с пока ещё живыми одноклассниками и друзьями детства.
Жизнь в реале интереснее чем в интернете. И чем дольше живу, тем больше это понимаю.
А Вам успехов всегда и во всём!

#41 17-01-2021 12:44:41

BigOrange
Модератор
Откуда: Саратов
Здесь с 20-11-2010
Сообщений: 2,303
LinuxFirefox 68.0

Re: CRUX

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


Долой DE! Даёшь WM!

Вне форума

#42 19-01-2021 19:55:03

cdrw
Участник
Здесь с 18-08-2013
Сообщений: 335
LinuxChrome 78.0

Re: CRUX

BigOrange пишет:

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

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

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

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

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

Шучу...


14103011_GgHo.png

Вне форума

#43 19-01-2021 21:55:53

BigOrange
Модератор
Откуда: Саратов
Здесь с 20-11-2010
Сообщений: 2,303
LinuxFirefox 68.0

Re: CRUX

cdrw пишет:

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

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


Долой DE! Даёшь WM!

Вне форума

#44 20-01-2021 20:57:39

cdrw
Участник
Здесь с 18-08-2013
Сообщений: 335
LinuxChrome 78.0

Re: CRUX

Чтобы поддержать тему, расскажу как я из простого менеджера окон 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 вариант этой записки. Там в цвете и красивее, на мой взгляд...


14103011_GgHo.png

Вне форума

#45 20-01-2021 22:23:29

BigOrange
Модератор
Откуда: Саратов
Здесь с 20-11-2010
Сообщений: 2,303
LinuxFirefox 68.0

Re: CRUX

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

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


Долой DE! Даёшь WM!

Вне форума

#46 20-01-2021 23:02:42

cdrw
Участник
Здесь с 18-08-2013
Сообщений: 335
LinuxChrome 78.0

Re: CRUX

BigOrange пишет:

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

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

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


14103011_GgHo.png

Вне форума

#47 20-01-2021 23:54:03

redix
Участник
Откуда: Shangri-La
Здесь с 14-02-2013
Сообщений: 2,398
LinuxChrome 88.0

Re: CRUX

cdrw пишет:

XFCE фуфло

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

rcxvKX0l.png

cdrw пишет:

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

b2JOD75l.png


In Tux We Trust

Вне форума

#48 21-01-2021 00:01:17

cdrw
Участник
Здесь с 18-08-2013
Сообщений: 335
LinuxChrome 78.0

Re: CRUX

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


14103011_GgHo.png

Вне форума

#49 21-01-2021 00:06:08

redix
Участник
Откуда: Shangri-La
Здесь с 14-02-2013
Сообщений: 2,398
LinuxChrome 88.0

Re: CRUX

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


In Tux We Trust

Вне форума

#50 21-01-2021 00:06:51

cdrw
Участник
Здесь с 18-08-2013
Сообщений: 335
LinuxChrome 78.0

Re: CRUX

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

Добавлено спустя 01 мин 34 с:

redix пишет:

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

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

Добавлено спустя 03 мин 19 с:
Ясно. Хохлы меня за манкурта приняли... Интересно!

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


14103011_GgHo.png

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] claudebot

Подвал форума

Под управлением FluxBB
Модифицировал Visman

[ Сгенерировано за 0.022 сек, 20 запросов выполнено - Использовано памяти: 1.82 Мбайт (Пик: 1.89 Мбайт) ]