在 Awesome WM 中设置 http 代理

在 Awesome WM 中设置 http 代理

我已经安装惊人的在 Ubuntu 上10.04并在 Gnome 和 Awesome 会话之间切换(部分原因是我仍在学习 awesome,部分原因是我使用了一些需要 Gnome 桌面的应用程序)。此外,我需要在工作时使用代理服务器,而在家时我可以使用直接连接。

在 GNOME 下,我用(以下称为 gnp)定义了 2 个位置,gnome-network-properties并根据需要在它们之间切换。

但是,当我登录 awesome 时,我保留的设置与上次 GNOME 会话中的设置相同。我无法调用 gnp,因为它需要gnome-settings-daemon运行,但事实并非如此。如果需要更改,则需要注销并登录两次(一次进入 GNOME 切换位置,然后返回 awesome)。由于我在 awesome 中使用了许多使用系统代理设置的应用程序(Synaptic、Firefox),因此我希望能够集中切换代理配置而无需离开 awesome 桌面。

我知道运行 gnome-network-properties 会设置一些 gconf-editor 键,还会更新 *_proxy 环境变量/etc/environment(可能还会更新其他地方)。有没有办法通过脚本或不使用 的 gnp 替代工具来实现相同的效果gnome-settings-daemon

答案1

您可以将其gnome-settings-daemon作为 Awesome 启动过程的一部分来启动。我通常在需要时手动调用它。

将其添加到您的~/.config/awesome/rc.lua文件中:awful.util.spawn_with_shell("gnome-settings-daemon")

…如果您想在启动时运行它。至少对我来说,这比我尝试过的任何其他方法都容易得多。

答案2

我编写了一个要求输入密码的脚本,现在我可以使用 gnome-network-properties 在整个系统范围内应用,而无需运行 gnome-settings-daemon。

/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
gnome-network-properties
killall polkit-gnome-authentication-agent-1

答案3

由于您正在使用 Awesome(就像我一样 :) ),您可能会对不依赖于运行 gnome-blob-softwares 的解决方案感兴趣...

这是我在 Awesome 启动时运行的脚本(实际上我有一个从 ~/.config/awesome/rc.lua 运行的“主”脚本,它可以启动这个脚本)

export no_proxy=localhost,127.0.0.1,*.example.com
export http_proxy=http://ex.example.net:8080/
export https_proxy=https://ex.example.net:8080/
export ftp_proxy=ftp://ex.example.net:8080/
# export socks_proxy=""   # I do not use this

# Configuration
gsettings set org.gnome.system.proxy.http host 'ex.example.net'
gsettings set org.gnome.system.proxy.http port 8080
gsettings set org.gnome.system.proxy.http use-authentication false
gsettings set org.gnome.system.proxy use-same-proxy false
gsettings set org.gnome.system.proxy.https host 'ex.example.net'
gsettings set org.gnome.system.proxy.https port 8080
gsettings set org.gnome.system.proxy.ftp host 'ex.example.net'
gsettings set org.gnome.system.proxy.ftp port 8080
gsettings set org.gnome.system.proxy.socks host ''  # I do not use this
gsettings set org.gnome.system.proxy.socks port 0

# Enabling
gsettings set org.gnome.system.proxy mode 'manual'
gsettings set org.gnome.system.proxy.http enabled true
gsettings set org.gnome.system.proxy ignore-hosts "[ 'localhost', '127.0.0.0/8' ]"

相关内容