Я хотел бы добавить уровень техники средства запуска Единицы как шаблон для создания минимального уровня техники других пользователей. Я был найден методом, как добавить приложения в шаблон, но не метод, как извлечь настройки текущего пользователя.
Я пытаюсь удостовериться, если просто редактирование схемы достаточно к дисплею аппарата настоящего имени зарегистрированного пользователя в индикаторе панели, также.
Можно разделить объекты средства запуска Единицы на средства запуска приложения и другие объекты; сеть связанные, смонтированные объемы и такой. Лучшее должно только скопировать средства запуска приложения в других пользователей, так как другие могут быть конкретным пользователем и / или варьироваться во время процесса.
Также обратите внимание на это при копировании содержания средства запуска в другого пользователя, возможные локальные .desktop файлы (в ~/.local/share/applications
) из локально установленных приложений, например, не появится в средстве запуска Единицы другого пользователя.
Однако можно считать содержание текущего средства запуска командой:
gsettings get com.canonical.Unity.Launcher favorites
Вывод является списком всех объектов от Вашего текущего средства запуска Единицы.
Для установки нового содержания для средства запуска следующая команда используется:
gsettings set com.canonical.Unity.Launcher favorites <list_of_items>
Если мы используем сценарий для выборки объектов средства запуска первого пользователя, запишите результат в файл, то войдите в учетную запись другого пользователя для запущения скрипта снова (вместе с файлом) для установки содержания в учетную запись другого пользователя, это может быть сделано в мгновение ока. Сценарий ниже сделан сделать обоих, в зависимости от аргумента, который Вы даете ему (см. далее ниже).
copy_launcher.py
Откройте окно терминала в" учетной записи "образцового пользователя и запустите скрипт с командой:
python3 /path/to/copy_launcher.py get
get
- аргумент команды заставляет сценарий создать текстовый файл: saved_launcher.txt
, с содержанием Вашего текущего средства запуска Единицы. Файл создается в том же каталоге как, где сценарий расположен.
saved_launcher.txt
файл на (например), палке usb, но держат оба файла вместе в одном и том же каталоге.Войдите в учетную запись другого пользователя, откройте терминал и запустите скрипт командой:
python3 /path/to/copy_launcher.py set
(возражайте против аргумента набора),
#!/usr/bin/env python
import subprocess
import os
import sys
command = sys.argv[1]
curr_dir = os.path.dirname(os.path.abspath(__file__))
datafile = curr_dir+"/saved_launcher.txt"
def get_current():
get_current = subprocess.check_output(["gsettings", "get", "com.canonical.Unity.Launcher", "favorites"]).decode("utf-8")
return (str([item for item in eval(get_current) if item.startswith("application://")]),
[item for item in eval(get_current) if not item.startswith("application://")])
def write_saved():
current_launcher = get_current()[0]
with open(datafile, "w") as saved:
saved.write(current_launcher)
def read_saved():
with open(datafile, "r") as saved:
return eval(saved.read())
def set_launcher():
app_section = read_saved(); fixed_section = get_current()[1]
new_launcher = str(app_section+fixed_section)
subprocess.Popen(["gsettings", "set", "com.canonical.Unity.Launcher", "favorites", new_launcher ])
if command == "set":
set_launcher()
elif command == "get":
write_saved()
Если Вы сделаны, Вы скопировали средство запуска Единицы от одного пользователя другому.