Смена обоев рабочего стола

Хотелось бы, чтобы при каждой загрузке менялась обоина, или через промежуток времени. Знаю — знаю, встроено в винду, начиная с Windows 7 и в KDE, программ таких как грязи, и класс таких программ «свистелки и перделки».

На примере связки Openbox и feh или Openbox, и pcmanfm, запущенного в качестве менеджера рабочего стола.

Скрипт setpaper (не забудьте дать права на выполнение)

#!/bin/bash
#papka=~/"pro ba"
papka=~/"Изображения/wallpapers" # путь к картинкам
programm="pcmanfm -w" # команда, которая ставит обои. 
#programm="feh --bg-scale"
sleep 2 # pcmanfm не успевает запустится, задержка 2 сек
$programm "$papka"/"`ls "$papka" | shuf -n1`" # ставим случайную картинку из каталога
while [ ${#1} -ne "0" ] # если после вызова этого файла есть аргумент (число секунд)
do
sleep $1 # задержка на это число секунд
$programm "$papka"/"`ls "$papka" | shuf -n1`" # ставим случайную картинку из каталога
done # зацикливаем

В автозагрузку дописываем (файл ~/.config/openbox/autostart) для установки обоев при загрузке (предполагается, что файл setpaper в домашнем каталоге, или пропишите свой путь)

pcmanfm --desktop &
~/setpaper &

или для смены обоев каждые 30 мин. (1800 сек.)

pcmanfm --desktop &
~/setpaper 1800 &

Скрипт понимает пробелы в путях и именах файлов.

Резервная копия

Linux позволяет сделать архив рабочей системы на лету. у меня /home на sda3, а boot, на разделе с системой. Архив кидаю в домашнюю папку

Для Арча (не обязательно)

sudo pacman -Scc

Создание архива корня (без home):

sudo tar cvpzf /home/serg/sysbackup.tgz --exclude=/home --exclude=/proc --exclude=/run --exclude=/media --exclude=/lost+found --exclude=/mnt --exclude=/tmp --exclude=/sys --exclude=/swapfile /

Распаковка обратно (запуск с Live CD)

Удалите все файлы с раздела sda1, (или какой там у вас) затем:

tar xvpfz /mnt/sda3/serg/sysbackup.tgz -C /mnt/sda1
cd /mnt/sda1
mkdir home proc run media lost+found mnt tmp sys

fallocate -l 4G /swapfile
или
dd if=/dev/zero of=/swapfile bs=1M count=4096

mkswap /swapfile

Зачем? Перед глобальным обновлением, экспериментами с системой периодически, если что-то пошло не так позволяет за пять минут откатить систему, а потом разбираться

Шифрование каталога

Для арчлинукс

Устанавливаем пакет:
sudo pacman -S ecryptfs-utils

Запускаем модуль ядра:
sudo modprobe ecryptfs

Добавляем в файл /etc/pam.d/login строки:

auth optional pam_ecryptfs.so unwrap
password optional pam_ecryptfs.so
session optional pam_ecryptfs.so unwrap

Запускаем скрипт:
ecryptfs-setup-private
который создаст каталоги ~/.Private и ~/Private пароль нужно указать тот-же, что для входа пользователя

Проверте, как работает. В Private поместите файл или каталог, в скрытом файле .Private он должен зашифроватся. при выходе пользователя из системы каталог Private не должен содержать расшифрованных файлов. При входе пользователя эти файлы должны появится.

Лично я разместил в каталоге Private каталоги конфигурации браузеров и документы, а в домашнем каталоге сделал ссылки на них.

Зачем? При потере ноутбука или компа ваши данные не смогут достать даже с помощью Live CD или другой системы, впрочем, при потере. Метод, «паялник в задницу» все-же поможет расшифровать данные

Все-же во избежание потери данных надо периодически архивировать каталог Private (я использую шифрованный 7z)

Перевод выделенного текста с любого языка

Собственно, первоначальную версию взял отсюда сейчас метод не работает.

Перевод сделал с помощью trans а вывод с помощью zenity.

Еще полезная ссылка по теме.

Устанавливаем необходимые пакеты:

sudo pacman -S wget xsel zenity

Скачиваем скрипт переводчика:

wget git.io/trans

Даем права на выполнение:

chmod +x ./trans

Создаём файл с именем seltr и копируем в него следующие 2 строки:

#!/usr/bin/env bash
zenity --info --timeout=20 --title="Перевод" --text="$(xsel -o | ~/trans -b :ru)"

Для вывода перевода с помощью синтезатора речи создаем файл seltr_voice с содержанием:

#!/usr/bin/env bash
xsel -o | ~/trans -b -p :ru

Этим файлам тоже нужно дать права на выполнение

Назначаем горячие клавиши для запуска. Например для Openbox надо править файл ~/.config/openbox/rc.xml