本文介绍在Ubuntu下使用Bash文件+桌面快捷方式实现快速切换网络代理状态的方法。

一、问题

  在Windows下,第三方的网络代理工具通常都会将“切换网络代理状态”的选项集成到软件中,方便用户快速切换网络代理的状态。但是阿猪尝试了几个Linux下常用的第三方网络代理工具,都需要用户在每次使用前自行到系统中开启网络代理,使用后还得再次自行关闭,否则会影响正常上网,很不方便。

二、解决方法

  阿猪尝试通过Bash文件实现网络代理状态在“手动”与“禁用”状态之间切换,然后在Ubuntu桌面放置快捷方式,方便通过鼠标快速切换。具体步骤如下:

1、创建Bash文件

  将以下代码保存至当前用户的Documents目录下(路径通常为/home/<用户名>/Documents),文件名以.sh为后缀。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/bash

# 获取当前网络代理状态
current_status=$(gsettings get org.gnome.system.proxy mode)

# 切换网络代理状态
if [ "$current_status" == "'none'" ]; then
# 如果当前状态为“已禁用”,设置为“手动”
gsettings set org.gnome.system.proxy mode 'manual'
echo "网络代理已切换为手动模式"
sleep 3
else
# 如果当前状态为“手动”,设置为“已禁用”
gsettings set org.gnome.system.proxy mode 'none'
echo "网络代理已禁用"
sleep 3
fi

2、为.SH文件添加可执行权限

  在终端中运行如下命令,为.SH文件添加可执行权限:

1
chmod +x /home/<用户名>/Documents/switch_net_proxy.sh # 替换为你的实际路径和文件名

3、创建桌面快捷方式

  将以下代码保存至当前用户的Desktop目录下(路径通常为/home/<用户名>/Desktop),文件名以.desktop为后缀。

  其中Icon一行是用作快捷方式图标的图片文件的路径。它的作用只是起到美观的作用,如不需要可删除。如不嫌弃,可使用阿猪提供的图片https://yfzhu.cn/post_img/2023/12/switch_icon.png

1
2
3
4
5
6
[Desktop Entry]
Name=切换网络代理状态
Icon=/home/<用户名>/Documents/switch.png # 替换为你的实际路径和文件名
Exec=/usr/bin/env bash -c /home/<用户名>/Documents/switch_net_proxy.sh # 替换为你的实际路径和文件名
Type=Application
Terminal=true

4、为.DESKTOP文件添加可执行权限

1
chmod +x /home/<用户名>/Desktop/切换网络代理状态.desktop # 替换为你的实际路径和文件名

  到此为止,所有的操作就完成了。只要在桌面中双击这个图标,就可以方便的在“手动”与“禁用”模式之间相互切换。

  注:首次使用时,可能会看到图标为阴影不可用的状态,可尝试按照提示在图标上点击鼠标右键,然后在出现的菜单中选择“允许运行”。