Прощай ноут и долой ПК. Малинка в качестве приличного десктопа

  • Автор
Самой большой моей мечтой за долгие годы, было посидеть в тишине, а не слушать как многочисленные вентиляторы с завыванием гоняют пыль в пылающих недрах БЭСМ а им вторят неутомимым стрекотанием диски, вечно чем-то озадаченные. Итак, перфокарты в мусорку, ноут другому страдальцу, а Raspberry Pi 3 model B прикручена к спине монитора.
Что мы имеем? Топовое железо уровня 2005 года и проблему с узким бутылочным горлышком в виде дискового ввода-вывода. Однако, самой большой проблемой, если не бояться, и называть вещи своими именами, причиной проблем является... браузер и его друзья - жадные до памяти программы . Это мой юзер-кейс - десктоп, если ваша малина трудится в суровых спартанских условиях без иксов, то можете смело прерывать чтение.


Вижу, что количество тех кто остался значительно сократилось, но это самые смелые люди.
Хорошо, тогда продолжим и примем вызов брошенный нам в лицо этими творцами неуемных в своем аппетите программ. Давайте раздробим проблему на более мелкие и не связанные с собой части. Увеличим размер доступной памяти, попробуем свести к минимуму обращение к диску (под ним будем иметь в виду нашу SD-карту), избавимся от "лишних" занимающих память программ.

Часть первая

Увеличь свою память быстро! без рекламы регистрации и смс
Физически увеличить память на устройстве не получится. Но руки опускать рано ведь в линуксе есть zram.
zRam — модуль ядра Linux. Он увеличивает производительность путём предотвращения подкачки страниц на диск, используя сжатое блочное устройство в оперативной памяти, пока не появится необходимость использовать файл подкачки на жёстком диске. Скорость обмена с оперативной памятью быстрее, чем с жёстким диском, следовательно zRam позволяет Linux производить большее число операций подкачки, особенно на старых компьютерах с малым объёмом оперативной памяти.

Добавляем в конец файла /etc/rc.local инициализацию и запуск модуля zram (перед строкой exit 0):
####################
modprobe zram num_devices=4 # Пусть все 4 ядра будут задействованы для компрессии

SIZE=512 # Отдадим под псевдо свап-файл 512 Мб
echo $(($SIZE*1024*1024)) > /sys/block/zram0/disksize
echo $(($SIZE*1024*1024)) > /sys/block/zram1/disksize
echo $(($SIZE*1024*1024)) > /sys/block/zram2/disksize
echo $(($SIZE*1024*1024)) > /sys/block/zram3/disksize

mkswap /dev/zram0
mkswap /dev/zram1
mkswap /dev/zram2
mkswap /dev/zram3

swapon /dev/zram0 -p 10
swapon /dev/zram1 -p 10
swapon /dev/zram2 -p 10
swapon /dev/zram3 -p 10

####################

Файл доступен на запись только пользователю root, так что не забудьте
$ sudo leafpad /etc/rc.local

Изменения вступят в силу после перезагрузки.

Часть вторая

Посади толстяка на диету

В качестве ежовых руковиц мы возьмем расширения для хрома OneTab которое группирует все открытые вкладки в одну (а одна открытая вкладка = запущенному процессу = съеденной памяти) и uMatrix который фильтрует контент страницы удаляя рекламу, скрипты фреймы, аудио и видео. Если uMatrix покажется вам слишком агрессивным, попробуйте uBlock Origin.

Часть третья


Все ненужное на слом, соберем металлолом!
Ребята колдующие над Raspbian и так постарались основательно подчистив lxde и дальнейшее творчество рассчитано исключительно на людей сильных духом и обладающих пытливым умом.
Поскольку я давно заметил что наблюдаю красивые обои только после включения компьютера, а затем они быстро пропадают под многочисленными окнами, то если их не будет, ничего страшного не случиться.
Тоже относиться и к обрамлению окон. Ну а если так, то почему бы не попробовать в меру аскетичный оконный менеджер что-то вроде awesome, dwm, wmii, larswm, 9wm, w9wm... Странно, почему они все пытаются в той или иной мере воссоздать окружение Plan9?
Лично я возьму plan9port от Расса Кокса и скомпилирую его. Но предварительно нужно поставить необходимые библиотеки для сборки.
$ sudo apt install libx11-dev libxext-dev libxt-dev

Скачанный plan9port-master.zip сохраню в /opt/plan9port распакую и запущу компиляцию
$ ./INSTALL

После сборки создадим файл ~/.xsession следующего содержания
export PLAN9=/opt/plan9port
export PATH=$PATH:$PLAN9/bin
export LANG=en_US.UTF-8
font=$PLAN9/font/lucm/unicode.9.font
GS_FONTPATH=$PLAN9/postscript/font

home=$HOME
prompt="$H=; "
user=$USER

export \
GS_FONTPATH \
font \
home \
prompt \
user\

plumber &
/home/pi/riostart &
exec rio


Еще один файл ~/riostart для "автозапуска" нужных вам приложений
#!/opt/plan9port/bin/rc
stats -W 100x100@0,0 -lmsew &
xclock -geometry 100x100+0+100 &
9term -W 500x300@300,770 &
9term -W 310x200@1600,870 &

Сделаем его исполняемым
$ chmod a+x ~/riostart

Ну и напоследок, добавим в конец ~/.bashrc пару строк
PLAN9=/opt/plan9port export PLAN9
PATH=$PATH:$PLAN9/bin export PATH


Почитать про Plan9 , оконный менеджер Rio и редактор Acme можно на вики. Выглядит необычно первые пару дней, но к этому скоро привыкаешь.

Чтобы загружалась ваша привычная оконная среда вам понадобиться удалить или переименовать файл .xsession
$ mv ~/.xsession ~/.xsession.old


Желаю Вам быстрой и приятной эксплуатации малинки!

Комментарии:

Anton7
С отображением Adobe Flash в браузере проблем нет?
n900
не могу сказать, я его в принципе отключаю. если интересен какой-нибудь конкретный сайт, то можно проверить
Anton7
Да любой в принципе. Просто иногда приходится открывать сайты с flash анимацией. И вот лучше винды это так никто и не научился делать. Меня это бесит как и сама анимация, просто необходимость иногда возникает.
n900
открыл первый попавшийся сайт с флеш-играми. запустились, звук есть, вроде бегают-прыгают. i.imgur.com/8OgcsmQ.png
dmlbr


Можно посмотерть полное содержимое файла rc.local после изменения?



файл rc.local может так выглядить?



#!/bin/sh -e

#

# rc.local

#

# This script is executed at the end of each multiuser runlevel.

# Make sure that the script will «exit 0» on success or any other

# value on error.

#

# In order to enable or disable this script just change the execution

# bits.

#

# By default this script does nothing.



exit 0



####################

modprobe zram num_devices=4 # Пусть все 4 ядра будут задействованы для компрессии



SIZE=512 # Отдадим под псевдо свап-файл 512 Мб

echo $(($SIZE*1024*1024)) > /sys/block/zram0/disksize

echo $(($SIZE*1024*1024)) > /sys/block/zram1/disksize

echo $(($SIZE*1024*1024)) > /sys/block/zram2/disksize

echo $(($SIZE*1024*1024)) > /sys/block/zram3/disksize



mkswap /dev/zram0

mkswap /dev/zram1

mkswap /dev/zram2

mkswap /dev/zram3



swapon /dev/zram0 -p 10

swapon /dev/zram1 -p 10

swapon /dev/zram2 -p 10

swapon /dev/zram3 -p 10



####################
n900
Строка

exit 0


должна быть в самом конце файла
IVAN_PLOTNIKOV
Всем привет. Я новичок в rasberry. Прошу консультации. Возможно в малинку загрузить программу voxcommando с голосовыми движками, по подробней про эту программу. Это голосовое общение с компьютером и может управлять выходными устройствами через голосовые команды. Жду какого нибудь ответа.
mshock
Хорошая статья, полезная. Спасибо! 
Я тоже последнее время вместо большого ПК включаю Raspberry Pi 3B - и наслаждась тишиной...
8-)
[Вот и сечас пишу с "малинки".]
NikitOS
А у меня малина постоянный комп т к стационарного нет

Для написания комментариев необходимо зарегистрироваться