Что мне собственно хотелось:
- энергосбережение
- нормальную работу железа нетбука
- шифрование домашней директории
- удобную пользовательскую среду
Надеялся на нем попользоваться Arch GNU/Linux, но как разработчика меня пока больше устраивает Gentoo. Поставил и то и другое, но Arch оставил как запасную ОС.
Перед сборкой @system и @world стОит позаботиться о настройках компилятора. В make.conf я прописал:
CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j5 -l5"
EMERGE_DEFAULT_OPTS="-v --jobs=5 --load-average=5.0"
По поводу энергосбережения написано много чего здесь. Всё железо работает изкоробки™ при правильной настройки ядра (см. gentoo-wiki). Для app-laptop/laptop-mode-tools (не забудьте поставить сервис laptop_mode в загрузку) в /etc/laptop-mode/laptop-mode.conf отмечу кое-какие важные настройки:
BATT_HD_POWERMGMT=254
LM_AC_HD_POWERMGMT=254
NOLM_AC_HD_POWERMGMT=254
MINIMUM_BATTERY_CHARGE_PERCENT=3
HIBERNATE_COMMAND="/usr/local/bin/hibernate"
ENABLE_AUTO_HIBERNATION=1
su sbar -c 'DISPLAY=:0 XAUTHORITY=~sbar/.Xauthority alock -bg image:center,file=/home/sbar/pix/locked.png -cursor theme:name=mini -auth passwd' &
#su sbar -c 'echo disconnect >> /home/sbar/.mcabber/mcabber.fifo'
su sbar -c 'DISPLAY=:0 /usr/bin/gajim-remote change_status offline'
mpc stop
/etc/init.d/alsasound restore
chvt 5
echo -n disk > /sys/power/state
hdparm -B 254 /dev/sda >> /dev/null
Скрипт /etc/acpi/default.sh для sys-power/acpid выглядит примерно так:
#!/bin/sh
set $*
group=${1%%/*}
action=${1#*/}
device=$2
id=$3
value=$4
log_unhandled() {
logger "ACPI event unhandled: $*"
}
case "$group" in
button)
case "$action" in
power)
#/sbin/init 0
/usr/local/bin/hibernate
;;
lid)
if [[ $(cat /sys/class/power_supply/BAT0/status) == "Discharging" ]]
then
/usr/local/bin/standby
else
su sbar -c 'DISPLAY=:0 XAUTHORITY=~sbar/.Xauthority alock -bg image:center,file=/home/sbar/pix/locked.png -cursor theme:name=mini -auth passwd' &
fi
;;
*) log_unhandled $* ;;
esac
;;
ac_adapter)
case "$value" in
*) log_unhandled $* ;;
esac
;;
*) log_unhandled $* ;;
esac
В иксы я вхожу самопальным init-скриптом mydm (он запускает startx для определенного пользователя), не люблю я дисплей-менеджеры (ведь я один пользуюсь этим нетбуком).
Шифрование домашней директории настроил с помощью encfs.
В ~/.bash_profile не зашифрованной директории:
cd ..
sudo encfs --public /home/.$USER /home/$USER -- -o nonempty
cd $USER
source .bash_profile
[[ -f ~/.bashrc ]] && . ~/.bashrc
if [[ $TERM != screen.linux &&
! $(ps uax | egrep 'X.*:0' | grep $USER | grep -v grep) ]]
then
echo -n '>>> X11 is not running. Run X11 (and GTFO from the shell)? [Y/n] '
read ANSWER
if [[ $ANSWER != n ]]; then
/etc/init.d/mydm restart
exit
fi
fi
if [[ $(who | grep $USER | wc -l) -eq 1 ]]
then
cd ..
(sleep 10 &&
(sudo umount $HOME 2&>> /dev/null) && echo 'home is unmounted'
) &
fi
В качестве оконного менеджера я использую awesome. После небольшой работы напильником виджета состояния батареи, написания некоторых своих виджетов (например индикатор раскладки клавиатуры на основе x11-apps/skb) — вполне можно пользоваться:
function skb_widget()
p = io.popen("skb -1")
text = p:read()
p:close()
return "[ <b>" .. text .. "</b> ]"
end
Свой конфиг ядра пожалуй оставлю здесь.
P.S.: не знаю почему поехало форматирование всего и вся, но трогать не буду. -___-