Как я могу заблокировать пользователей от изменяющихся обоев (под Единицей в Ubuntu 12 и 14)?

Я не могу найти способ заблокировать пользователей от изменения моих установленных обоев.
У меня есть некоторые ПК под управлением Ubuntu 12.04 с помощью Единицы и других под управлением Ubuntu 14.04 с помощью Единицы.
Мне нужна некоторая тонкая настройка/команда/решение, которая блокирует опцию изменения обоев любым возможным способом.

Не отвечайте мне с решениями под GNOME. Эти два не работают на меня:
- Как ограничить пользователей при изменении их обоев?
- Наличие проблемы, препятствующей тому, чтобы пользователи изменили обои/настройки

0
задан 13 April 2017 в 05:24

1 ответ

Хотя предложение ниже совсем не "водонепроницаемо", оно предлагает по крайней мере некоторые меры предосторожности "первой строки" против изменения обоев слишком легко.

Вы могли сделать маленький сценарий для выполнения в фоновом режиме, который проверяет каждый x секунды, если текущие обои являются все еще обоями, которые Вы устанавливаете во-первых.

  • Команда для наблюдения (получает) то, что является текущими обоями:

    gsettings get org.gnome.desktop.background picture-uri
    

    При выполнении этого в терминале Вы получите выходное сходство с:

    'file:///home/jacob/Thema/Bureaublad4/Frog.jpg'
    

Мы можем заставить сценарий восстановить исходные обои, если это изменилось.

  • Для установки определенных обоев команда:

    gsettings set org.gnome.desktop.background picture-uri 'file:///home/jacob/Thema/Bureaublad4/Frog.jpg'
    

Если мы используем эти два в сценарии Python, мы могли бы получить следующее (python3, 14.04):

#!/usr/bin/env python3

import time
import subprocess

set_wallpaper = "file:///home/jacob/Thema/Bureaublad4/Frog.jpg"

cmd2 = "gsettings set org.gnome.desktop.background picture-uri "+set_wallpaper
cmd1 = "gsettings get org.gnome.desktop.background picture-uri"

def check_wall():
    curr_wallpaper = subprocess.check_output(["/bin/bash", "-c", cmd1]).decode("utf-8").strip()
    if curr_wallpaper == "'"+set_wallpaper+"'":
        pass
    else:
        subprocess.Popen(["/bin/bash", "-c", cmd2])

while True:
    check_wall()
    time.sleep(10)

Единственной разницей для 12,04 является хижина: 12.04 не идет с python3 по умолчанию, таким образом, хижина должна быть:

#!/usr/bin/env python

Как использовать

  • скопируйте сценарий в пустой файл. Измените строку обоев (после того, как set_wallpaper =) в путь к Вашему изображению обоев (запускающийся с file://, как в примере). Сохраните его как something.py.

  • выполните его командой:

    python3 /path/to/something.py
    

    или (12.04)

    python /path/to/something.py
    

Если все работы, как Вы желаете, добавляют его к Вашим приложениям запуска: Тире> "Приложения Запуска"> "Добавляет"

1
ответ дан 6 October 2019 в 15:50

Другие вопросы по тегам:

Похожие вопросы: