Linux - это интересно!
Вы не вошли.
помогла смена темы оформления.
Во времена GTK2 шрифт и его размер для темы мог быть запросто прописан в gtkrc файле, как сейчас (во времена GTK3) фик его знает, рихтовать css нет желания. Да и gtkrc частенько имел внутри неплохие комментарии, сомневаюсь чтобы такое же было и в css.
In Tux We Trust
Вне форума
@redix, где-то во время прихода ЖТК3 всё и началлось
но менял я тему в самом либрофисе, там есть такая неплохая зелёненькая
до этого на буржуйском было всё норм, а на православном квадратиками
а системная у меня стыренная с манжары и слегка переделанная vertex-maia-square с ней проблем нет
Долой DE! Даёшь WM!
Вне форума
Привет! Спортивнее было бы не вводить 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
Если не лень, попробуй, мне важно мнение со стороны... Критику и матюки воспринимаю, только тихонько, шоб соседи не слышали...
Вне форума
#!/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
Вне форума
# Creating a /swapfile & enable it
Даже такое можно, как в винде?
Вне форума
Вне форума
Вне форума
Я скажу тебе, что когда я только начинал переходить на Линукс, то я там почерпнул целую кучу знаний, еще во всяческих блогах. То что там есть, кроме дистро специфичностей, все работает в любом лине.
In Tux We Trust
Вне форума
И ещё про MontanaLinux, чьими репами дистр пользуется? Или это уже самостоятельный дистрибутив?
Вне форума
У него репы центоси, да это центось и есть на самом деле, форк для универа штата монтана делает Scott Dowdle, насколько я понял для учебного процесса. Я беру мин образ, и проезжаю по нему этим и еще тремя скриптами, и получается centos 7 + xfce c мултимедиями и тем софтом, что я использую. Ставлю в один раздел ext4.
ЗЫ. Только сейчас какой то бок вылез, после обновления дико тормозит курсор и инерция у него какая то, не разбирался пока, не очень со временем свободным.
In Tux We Trust
Вне форума
Похоже в этой связке ошибка
if [ -e /etc/resolve.conf ]; then
cp -L /etc/resolve.conf $CRUX/etc/
fi
тот, который resolve.conf не resolve совсем, а resolv, то бишь resolv.conf
В остальном всё работает на отлично.
С Новым голом!
@shurumburum, привет!
ты на CRUX?
как впечатления о системе?
Долой DE! Даёшь WM!
Вне форума
Похоже в этой связке ошибка
if [ -e /etc/resolve.conf ]; then
cp -L /etc/resolve.conf $CRUX/etc/
fiтот, который resolve.conf не resolve совсем, а resolv, то бишь resolv.conf
В остальном всё работает на отлично.
С Новым голом!
Спасибо за поздравление. Про ошибку знаю, сам позже заметил. Исправлять лень, да и положительный эффект есть. Кто-то, да заметил. Всёж приятно...
Вне форума
Оригинально!
Надо взять такой способ обратить на что-то внимание - на вооружение!
А вообще, Ваша статья очень полезна.
Спасибо!
Привет
Впечатления исключительно замечательные.
Я сторонник простоты и надёжности.
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 ( пульсу я не ставил, не люблю её). Вот его я только и меняю регулярно...
Торчать за компом некогда, а приведённый набор программ меня вполне устраивает.
Для меня интернет чисто источник знаний и способ общения с пока ещё живыми одноклассниками и друзьями детства.
Жизнь в реале интереснее чем в интернете. И чем дольше живу, тем больше это понимаю.
А Вам успехов всегда и во всём!
@shurumburum, спасибо за ответ.
у меня очень схожие требования к системе и предпочтения.
думаю куда бы с арча прейти.
или не переходить, всже же работает нормально, если не обновляться.
заколебался колебаться.
Долой DE! Даёшь WM!
Вне форума
или не переходить, всже же работает нормально, если не обновляться.
Лучше не переходить. Ибо сам не знаешь, чего хочешь. Тут вопрос в чём. Хочешь ли ты остаться в привычной оболочке или познать то, чего они там такие недовольные. Интересно же... Ты сам этого не знаешь, как можно понять из твоего поста. Лучше ваш arch... Из него так много черпаю пояснений.
Другое дело - я. Засиделся в Slackware, хочется оптимизации. Хочется для себя создать идеальный дистрибутив, где нет ничего лишнего. CRUX позволяет это сделать, но, когда я хотел установить просто parom.tv, столкнулся с таким мешком зависимостей.
Для себя решил. Пилить CRUX всё равно буду. К слову, нашёл почему он тормознутый. Всё дело в pam. Эта зараза тормозит всё! Хотя в Slackware Пролетает моментом. "Прикрутили" плять... Откручиваю теперь...
Вобщем, лучше переустанови Arch. А если уж новых ощущений хочется, закатай на винт freedos. Расскажешь, как ты в инет выходил, как настраивал принтер...
Шучу...
Вне форума
лучше переустанови Arch
Пробовал, только время зря потратил, и конфиги заново накостыливал, которые забыл сохранить.
Долой DE! Даёшь WM!
Вне форума
Чтобы поддержать тему, расскажу как я из простого менеджера окон 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/
вроде можно безболезненно перенести всё в пользовательскую папку с конфигами?
а то вдруг при обновах перезапишется на дефолт
Долой DE! Даёшь WM!
Вне форума
было бы неплохо разъяснить в чём плюсы данной затеи и добавить картинок.
Картинок, каких?
Про плюсы вроде бы сказал - мне нравится IceWM. Или надо обязательно добавить, что XFCE фуфло, тормознутый, и меню у него не по моим стандартам. Переходит на GTK3, а я привык ко второму...
К слову, следующая заметка будет о том, как меню IceWM привести к стандарту старого Gnome, или MATE по новому...
Вне форума
Я для себя, не на публику. Иногда, чтобы завистливых хохлов погнобить, публикую свои мысли... Ведь вы скоро здохнете... Радую.
Вне форума
Жди ждун-манкурт. Тебя уклониста там макаки из наротной милиции искали, пора на нули, нефик по гейропам ж**у спасать.
In Tux We Trust
Вне форума
К слову, как ты смеешь писать на русском? Ведь у вас это запретили?
Добавлено спустя 01 мин 34 с:
Жди ждун-манкурт. Тебя уклониста там макаки из наротной милиции искали, пора на нули, нефик по гейропам ж**у спасать.
Так я сам этого хотел... Тебе этого не понять. Как вы задолбали, онанисты...
Добавлено спустя 03 мин 19 с:
Ясно. Хохлы меня за манкурта приняли... Интересно!
Добавлено спустя 10 мин 15 с:
Хочу немного политики. А политика, это умение врать тем, кто тебя избрал. У меня вопрос к redix, ты кого выбирал, недохохол жидовский? Онип тебе врут по полной... Но ты возбухаешь против россиян. Если бы ты не квакнул против Путина, разговаривали мы бы с тобою по старому. Но тебя заело... Ты немного вякнул. Запомни! Или откажись от русского языка или пиши иероглифами.
Вне форума
[ Сгенерировано за 0.030 сек, 10 запросов выполнено - Использовано памяти: 1.8 Мбайт (Пик: 1.87 Мбайт) ]