
Я хочу установить адрес прокси-сервера системы через свое приложение Qt. Поэтому мне было интересно, могу ли я написать скрипт, который будет выполняться моим приложением каждый раз для изменения адреса прокси.
Я пытался :
#! /bin/sh
echo "# Generated by Application"
export $1
echo "Proxy Address ${1}
но этот скрипт не удался. Я думаю, что он не смог выполнить команду "export".
Может ли кто-нибудь помочь мне решить эту проблему?
решение1
Попробуй это:
#! /bin/sh
echo "# Generated by Application"
export http_proxy='http://$1/'
export ftp_proxy='http://$1/'
Примечание:
- ваша строка аргумента ($1) должна быть такой
user_id:[email protected]:proxy_port
- Если вы не используете идентификатор пользователя и пароль, то аргумент string($1) должен быть
proxy.server.addr:proxy_port
- При необходимости вы можете экспортировать https_proxy и socks_proxy.
- Чтобы узнать, установлен ли ваш прокси-сервер, используйте
env | grep proxy
Чтобы изменить системный прокси с помощью скрипта оболочки, попробуйте выполнить следующие действия:
gsettings set org.gnome.system.proxy mode 'manual'
gsettings set org.gnome.system.proxy.http enabled true
gsettings set org.gnome.system.proxy.http host 'proxy.server.addr'
gsettings set org.gnome.system.proxy.http port proxy_port
Если у вас есть пароль и идентификатор аутентификации пользователя
gsettings set org.gnome.system.proxy.http authentication-user 'user_id'
gsettings set org.gnome.system.proxy.http authentication-password 'password'
Чтобы использовать http_proxy для всех остальных прокси-серверов
gsettings set org.gnome.system.proxy use-same-proxy true
Чтобы настроить обход прокси для любого хоста
gsettings set org.gnome.system.proxy ignore-hosts "['localhost', '127.0.0.1', 'all', 'other', 'hosts']"