Caso alguém ainda esteja procurando uma solução, aqui está o que eu encontrei. O Ubuntu expõe um serviço DBus através do pacote ubuntu-system-service, mas eu não estou familiarizado com o DBus.
No entanto, inspecionando o código-fonte (não é ótimo Open Source?), a ação setProxy faz duas coisas:
- Modificar o ambiente do sistema
- Modifique as configurações de proxy usadas pelo APT
No primeiro caso, o arquivo em / etc / environment é modificado. O segundo caso é um pouco mais complicado - os arquivos em /etc/apt/apt.conf.d são verificados quanto a linhas que correspondem a Acquire :::: Proxy, onde os valores são substituídos. Se não houver linhas correspondentes, uma linha de proxy (como a acima) é adicionada a cada arquivo conf do APT.
Os arquivos relevantes são encontrados em UbuntuSystemService / backend.py (~ linha 209 @ versão 0.2.5).
Respondendo sua pergunta, você pode fazer as mesmas alterações que o ubuntu-system-service ou tentar descobrir usando o DBus:
dbus-send --system --print-reply --dest=com.ubuntu.SystemService --type=method_call / com.ubuntu.SystemService.set_proxy string:'http' string:'127.0.0.1:8080'
Por alguma razão, eu continuo recebendo False como uma resposta sobre este, mas você pode ser capaz de descobrir isso.