양말5 프록시를 사용하여 Chrome을 설정하고 싶습니다.
chrome://linux-proxy-config/
Chrome에 입력하려면 chrome://linux-proxy-config/
다음 내용이 포함된 페이지가 표시됩니다.
지원되는 데스크톱 환경에서 Google Chrome을 실행하는 경우 시스템 프록시 설정이 사용됩니다. 그러나 시스템이 지원되지 않거나 시스템 구성을 시작하는 데 문제가 있습니다.
하지만 여전히 명령줄을 통해 구성할 수 있습니다.
google-chrome
플래그 및 환경 변수에 대한 자세한 내용은 man을 참조하세요 .
콘솔에 다음 명령을 입력합니다.
google-chrome-stable --proxy-server="socks5://127.0.0.1:1080
위 명령의 두 가지 효과:
효과 1: 이제 양말5 프록시를 통해 인터넷에 액세스할 수 있습니다.
effect2: 경고 메시지가 너무 많습니다.
"Fontconfig warning: "/etc/fonts/fonts.conf", line 100: unknown element "blank" [3873:3960:0808/102301.399211:ERROR:object_proxy.cc(619)] Failed to call method: org.freedesktop.Notifications.GetCapabilities: object_path= /org/freedesktop/Notifications: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Notifications was not provided by any .service files [7:13:0808/102302.782729:ERROR:command_buffer_proxy_impl.cc(107)] ContextResult::kTransientFailure: Shared memory region is not valid [3873:4069:0808/102302.788747:ERROR:object_proxy.cc(619)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files [3873:4069:0808/102302.789045:ERROR:object_proxy.cc(619)] Failed to call method: org.freedesktop.UPower.GetDisplayDevice: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
effect2를 수정하고 싶습니다. 즉, 명령이 백그라운드에서 자동으로 실행되도록 하고 싶습니다.
google-chrome-stable --proxy-server="socks5://127.0.0.1:1080 &
Effect2는 여전히 존재하지만 백그라운드에서 실행할 수 없으며 콘솔에 경고 메시지가 계속 표시됩니다.
다른 것을 시도해보세요:
sudo gvim /usr/share/applications/google-chrome.desktop
#replace the `Exec=/usr/bin/google-chrome-stable --incognito` with
Exec=/usr/bin/google-chrome-stable --proxy-server="socks5://127.0.0.1:1080"
로고가 표시된 Chrome을 실행하면 Chrome이 열리지만 이제 프록시를 사용하여 온라인에 접속할 수 없습니다 socks5://127.0.0.1:1080
. 어떻게 고치나요?
답변1
작업을 수행할 수 있는 방법을 찾았는데 경고가 너무 많이 표시되는 것이 유일한 관심사인 경우 원하는 방식으로 작업을 수행하고 메시지를 삭제할 수 있습니다.
<your command> 2> /dev/null
당신은 될 것이다리디렉션 파일 설명자(FD)#2, stderr는 "블랙홀"로 리디렉션됩니다. stdout(FD #1)으로 전송된 메시지를 삭제할 수도 있지만 이는 귀하와 같은 상황에서는 흔하지 않습니다. 당신은 당신이 받는 혼란의 양을 조사해야 합니다. 따라서 다음이 필요합니다(stderr만 리디렉션).
google-chrome-stable --proxy-server="socks5://127.0.0.1:1080" 2> /dev/null &
또는 (stderr 및 stdout을 리디렉션합니다. 이들은 동일한 명령의 대체 형식입니다)
google-chrome-stable --proxy-server="socks5://127.0.0.1:1080" 2> /dev/null 1>&2 &
google-chrome-stable --proxy-server="socks5://127.0.0.1:1080" > /dev/null 2>&1 &
이 구문은 2>&1
FD #2를 FD #1이 있는 곳으로 리디렉션하는 것을 의미합니다. 기본 FD는 #1이므로 >
와 동일합니다 1>
.
드문 경우지만 위의 정보보다 더 많은 정보가 필요하거나 단지 호기심이 있는 경우입니다.
https://stackoverflow.com/questions/5256599/what-are-file-descriptors-explained-in-simple-terms
답변2
google-chrome.desktop
파일에 여러 Exec
항목이 있고 변경한 항목이 실제로 사용된 항목이 아니기 때문에 편집 시도가 실패했을 가능성이 높습니다 .
사용데비안용 Chrome 패키지google-chrome.desktop
세 가지 다른 섹션(그룹 ,Exec
freedesktop.org의 명칭):
$ grep -E '^Exec|^\[|^Name=' /usr/share/applications/google-chrome.desktop
[Desktop Entry]
Name=Google Chrome
Exec=/usr/bin/google-chrome-stable %U
[Desktop Action new-window]
Name=New Window
Exec=/usr/bin/google-chrome-stable
[Desktop Action new-private-window]
Name=New Incognito Window
Exec=/usr/bin/google-chrome-stable --incognito
이 --incognito
옵션이 있는 옵션(아마도 편집한 옵션)은 상황에 맞는 메뉴에서 "새 시크릿 창"을 선택한 경우에만 실행됩니다(예: GNOME 활동에서 Chrome 아이콘을 마우스 오른쪽 버튼으로 클릭한 후).
시스템의 모든 사용자에 대한 구성을 변경하는 것이 목표가 아닌 이상, 고유한 사용자 정의 버전을 만드는 것이 좋습니다 google-chrome.desktop
.
$ cp /usr/share/applications/google-chrome.desktop ~/.local/share/applications/
그런 다음 Exec
항목을 편집하고,적어도[Desktop Entry]
그룹 에서 ( Exec
어떤 메뉴 항목을 사용하여 실행하든 Chrome이 동일한 방식으로 작동하도록 다른 항목을 정렬할 수 있습니다):
Exec=/usr/bin/google-chrome-stable --proxy-server="socks5://proxyURL:proxyPORT" --host-resolver-rules="MAP * ~NOTFOUND , EXCLUDE proxyURL" %U
지적한대로도미니크 마티스안에논평--host-resolver-rules
, Chrome의 DNS 프리페처가 프록시 설정을 우회하지 못하도록 방지하는 옵션을 추가해야 할 수도 있습니다 .크롬 문서.
proxyURL
필요 에 따라 proxyPORT
조정하세요 . 설정 proxyURL
과 --proxy-server
옵션을 잊지 마세요 --host-resolver-rules
.
프록시를 설정하지 않고 기본 열기 작업으로 Chrome을 실행하려면 [Desktop Entry]
기본 항목을 Exec
그대로 두고행동대신에. 당신이 필요해요
Actions
그룹 의 키 에 새 작업의 이름을 추가합니다[Desktop Entry]
.- 새 작업 그룹을 추가합니다.
[Desktop Entry]
...
Actions=new-window;new-private-window;new-proxied-window;
...
[Desktop Action new-proxied-window]
Name=New Proxied Window
Exec=/usr/bin/google-chrome-stable --proxy-server="socks5://proxyURL:proxyPORT" --host-resolver-rules="MAP * ~NOTFOUND , EXCLUDE proxyURL" %U
Chrome 아이콘을 마우스 오른쪽 버튼으로 클릭하면 "새 에이전트 창"이 옵션으로 나타납니다(로그아웃/로그인이 필요할 수 있음). 동시에 실행되는 모든 Chrome 인스턴스는 다음을 사용하지 않는 한 처음 여는 인스턴스와 동일한 프록시 설정을 공유합니다.--user-data-dir
옵션.
답변3
나는 다음에 대해 썼다.Google Chrome이 프록시 설정의 영향을 받는 다양한 방식. Chrome에서 프록시를 설정하지 말고 대신 운영 체제 설정을 사용하세요.
그놈을 사용하는 경우 다음을 사용해 보십시오.gsettings
gsettings set org.gnome.system.proxy.http host "myproxy.server.com"
gsettings set org.gnome.system.proxy.http port "3128"
wget
인터넷에서 파일을 사용하거나 다운로드할 수 있습니까 curl
? 다음 명령은 index.html
Google 홈페이지에서 파일을 생성합니까?
wget https://www.google.com
문제가 SOCKS 프록시에 연결하고 다른 애플리케이션에 영향을 미치는 경우 다음을 사용해 보세요.프록시 체인또는파커 에이전트.
$ proxychains4 google-chrome
답변4
고양이/usr/share/applications/google-chrome.desktop
[Desktop Entry]
Name=Google Chrome
Icon=/usr/share/icons/hicolor/16x16/apps/google-chrome.png
Terminal=false
Type=Application
Categories=Network;WebBrowser;
Exec=/usr/bin/google-chrome-stable --proxy-server="socks5://127.0.0.1:1080" 2> /dev/null 1>&2 &