Você pode dividir os itens do iniciador do Unity em lançadores de aplicativos e outros itens; relacionados à rede, volumes montados e tal. O melhor é copiar apenas os lançadores de aplicativos para outros usuários, já que os outros podem ser específicos do usuário e / ou variar durante o processo.
Observe também que, se você copiar o conteúdo de um iniciador para outro usuário, possíveis arquivos locais .desktop (em ~/.local/share/applications
) de aplicativos instalados localmente, por exemplo, não aparecerão no iniciador Unity do usuário .
Lendo o conteúdo do lançador atual
Dito isto, você pode ler o conteúdo do lançador atual pelo comando:
gsettings get com.canonical.Unity.Launcher favorites
A saída é uma lista de todos os itens do seu lançador atual do Unity.
Definindo o conteúdo de um novo lançador
Para definir um novo conteúdo para o inicializador, o seguinte comando é usado:
gsettings set com.canonical.Unity.Launcher favorites <list_of_items>
Usando um script para copiar o iniciador para a conta de outro usuário
Se usarmos um script para buscar os itens do lançador do primeiro usuário, gravar o resultado em um arquivo e, em seguida, fazer login na conta de outro usuário para executar o script novamente (junto com o arquivo) para definir o conteúdo na conta de outro usuário, isso pode ser feito em pouquíssimo tempo. O script abaixo é feito para fazer as duas coisas, dependendo do argumento que você der (veja mais abaixo).
Como usar
- Copie o script abaixo em um arquivo vazio, salve-o como
copy_launcher.py
-
Abra uma janela de terminal na conta "usuário do modelo" e execute o script com o comando:
python3 /path/to/copy_launcher.py get
O
get
-argument do comando faz com que o script crie um arquivo de texto:saved_launcher.txt
, com o conteúdo do seu iniciador atual do Unity. O arquivo é criado no mesmo diretório em que o script está localizado. - Copie o script e o arquivo
saved_launcher.txt
em (por exemplo) um pendrive, mas mantenha os dois arquivos juntos em um único diretório. -
Faça login na conta de outro usuário, abra um terminal e execute o script pelo comando:
python3 /path/to/copy_launcher.py set
(pense no argumento set )
O script
#!/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()
Se você terminou, copiou o iniciador do Unity de um usuário para outro.