Самой большой моей мечтой за долгие годы, было посидеть в тишине, а не слушать как многочисленные вентиляторы с завыванием гоняют пыль в пылающих недрах БЭСМ, а им вторят неутомимым стрекотанием диски, вечно чем-то озадаченные.
Итак, перфокарты в мусорку, ноут другому страдальцу, а 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 распакую и запущу компиляцию $ ./INSTAL
После сборки создадим файл ~/.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
Желаю Вам быстрой и приятной эксплуатации малинки!
Комментариев: 9
Anton7
29.01.2017 в 18:57 ответС отображением Adobe Flash в браузере проблем нет?
n900
30.01.2017 в 19:22 ответне могу сказать, я его в принципе отключаю. если интересен какой-нибудь конкретный сайт, то можно проверить
Anton7
31.01.2017 в 16:27 ответДа любой в принципе. Просто иногда приходится открывать сайты с flash анимацией. И вот лучше винды это так никто и не научился делать. Меня это бесит как и сама анимация, просто необходимость иногда возникает.
n900
31.01.2017 в 21:06 ответоткрыл первый попавшийся сайт с флеш-играми. запустились, звук есть, вроде бегают-прыгают. i.imgur.com/8OgcsmQ.png
dmlbr
02.02.2017 в 23:58 ответМожно посмотерть полное содержимое файла 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
03.02.2017 в 13:37 ответСтрока exit 0 должна быть в самом конце файла
IVAN_PLOTNIKOV
26.02.2017 в 15:16 ответВсем привет. Я новичок в rasberry. Прошу консультации. Возможно в малинку загрузить программу voxcommando с голосовыми движками, по подробней про эту программу. Это голосовое общение с компьютером и может управлять выходными устройствами через голосовые команды. Жду какого нибудь ответа.
mshock
26.04.2017 в 11:56 ответХорошая статья, полезная. Спасибо! Я тоже последнее время вместо большого ПК включаю Raspberry Pi 3B - и наслаждась тишиной... 8-) [Вот и сечас пишу с "малинки".]
NikitOS
27.08.2017 в 21:25 ответА у меня малина постоянный комп т к стационарного нет