Я успешно использую apt-mirror для зеркалирования PPA.
http://manpg.es/apt-mirrorПросто добавьте такие строки, как:
deb http://ppa.launchpad.net/byobu/ppa/ubuntu precise main
deb-src http://ppa.launchpad.net/byobu/ppa/ubuntu precise main
И затем запустите sudo apt-mirror.
К /etc/apt/mirror.list.
В приведенном ниже скрипте предусмотрена мягкая защита паролем для изменения обоев в «домашних» ситуациях. Мягкий, потому что пароль хранится внутри скрипта в виде обычного текста. Тем не менее, это должно помешать обычным пользователям изменять обои.
Что он делает, так это то, что когда пользователь меняет обои, он немедленно возвращается обратно, и пользователю предлагается ввести пароль. Если пароль правильный, обои меняются на вновь установленный, в противном случае ничего не происходит.
Чтобы свести к минимуму риск, храните сценарий в неожиданном месте под неожиданным именем, и / или как скрытый файл.
Скопируйте сценарий ниже в пустой файл, укажите пароль по своему выбору в разделе главы (я бы не стал выберите ваш пароль sudo по соображениям безопасности, так как он в текстовом формате!) и сохраните его как name.py, запустите его командой:
python3 /path/to/name.py
#!/usr/bin/env python3
import time
import subprocess
set_password = "monkey"
key = "org.gnome.desktop.background picture-uri "
read = "gsettings get "+key; change = "gsettings set "+key
set_wallpaper = subprocess.check_output(["/bin/bash", "-c", read]).decode("utf-8").strip()
pass_window ='zenity --entry --entry-text="Enter password" --text="Enter password" --title="password" --hide-text'
def check_wall():
global set_wallpaper
curr_wallpaper = subprocess.check_output(["/bin/bash", "-c", read]).decode("utf-8").strip()
if curr_wallpaper != set_wallpaper:
subprocess.Popen(["/bin/bash", "-c", change+set_wallpaper])
try:
entered_password = subprocess.check_output(
["/bin/bash", "-c", pass_window]).decode("utf-8").strip()
except Exception:
entered_password = None
if entered_password == set_password:
subprocess.Popen(["/bin/bash", "-c", change+curr_wallpaper])
set_wallpaper = curr_wallpaper
else:
pass
while True:
check_wall()
time.sleep(3)
отправлено на gist.gisthub