На працоўным стале Linux, дзе значок панэлі PIA ніколі не з'яўляецца, тунель часта ўжо ўзняты і працуе, а адзінае кіраванне, якое вы мелі, знікла. Закрыццё акна праграмы не спыняе злучэнне, і тая ж усталёўка пастаўляецца з кліентам каманднага радка piactl, які чытае і змяняе стан, што раней паказвала меню. Карыснае пытанне не ў тым, чаму значок знік, а ў тым, які пласт адсутнічае: фонавая праграма, выбраны рэгіён ці інтэграцыя з абалонкай. Назавіце гэты пласт першым, і вы зможаце карыстацца VPN, не рамантуючы запускальнік.

Значок панэлі і тунель — розныя пласты

Элемент латкі — гэта дэталь адлюстравання, якую дае ваша працоўнае асяроддзе, а не рухавік VPN. Праграма PIA малюе меню ў любую вобласць стану, якую прапануе асяроддзе, і некаторыя налады Linux паказваюць гэтую вобласць толькі пасля ўсталёўкі пашырэння або плагіна панэлі. Калі праграма працуе, але абалонцы няма куды змясціць меню, злучэнне працягваецца, пакуль кіраванне знікае. Вось чаму выдаленне і пераўсталёўка VPN рэдка вяртае значок на працоўным стале, які ніколі не меў працаздольнай вобласці стану.

Паводзіны панэлі могуць адрознівацца паміж сеансамі, таму паспрабуйце той жа ўліковы запіс адзін раз пад Wayland і адзін раз пад X11. Меню, якое з'яўляецца ў адным сеансе і не з'яўляецца ў другім, паказвае на тып сеансу, а не на ўсталёўку VPN.

Прачытайце бягучы стан, перш чым змяніць яго

Пачніце толькі з запытаў, бо чытанне нічога не каштуе, а запіс перарывае трафік. Выконвайце іх ад свайго карыстальніка, а не праз sudo, які не прымушае кліента звяртацца да іншага асобніка праграмы.

piactl --help
piactl get connectionstate
piactl get region
piactl get regions

connectionstate адказвае на першае пытанне напрамую, вяртаючы Connected або Disconnected і праходзячы праз прамежкавыя значэнні, пакуль кліент дамаўляецца. region паведамляе ідэнтыфікатар, выбраны зараз, які не заўсёды той, па якім вы апошні раз пстрыкнулі, калі праграма перайшла на аўтаматычны выбар. regions пералічвае ідэнтыфікатары, вядомыя гэтаму кліенту, каб вы маглі скапіяваць дакладны радок замест здагадкі назвы горада. Калі першая каманда друкуе даведку, а астатнія завісаюць, праграма ўсталявана без дасяжнага фонавага працэсу.

Некаторыя пакеты пакідаюць piactl па-за вашым PATH. Даведнік PIA па камандным радку пазначае /opt/piavpn/bin/piactl як размяшчэнне ў Linux, таму выклікайце гэты шлях, калі кароткае імя не знойдзена. Бінарны файл належыць праграме для працоўнага стала, і гэта робіць адказны piactl доказам таго, што сама ўсталёўка цэлая.

Змена рэгіёна наўмысна перарывае тунель

Змена рэгіёна — гэта адключэнне, за якім ідзе новае рукапоцісканне, і кліент не ўжыве яго ціха пад жывым тунэлем. Разглядайце каманды ніжэй як адну транзакцыю з ідэнтыфікатарам, скапіяваным з вываду regions.

piactl disconnect
piactl set region REGION_ID
piactl connect
piactl get connectionstate

Тут важны парадак. Выбар рэгіёна падчас злучэння пакідае бягучы тунель накіраваным на старую канчатковую кропку, пакуль нешта не прымусіць перападключыцца, і менавіта так людзі робяць выснову, што налада праігнараваная. Спачатку адключэнне робіць стан адназначным, а заключны запыт паказвае, ці скончылася дамова, а не проста ці запісаны рэгіён. Калі апошні радок паведамляе пра рэгіён, які вы не выбіралі, шукайце аўтаматычны варыянт або варыянт найхутчэйшага сервера, які перабірае падчас злучэння.

На машыне, якой вы кіруеце праз SSH, рабіце змену лакальна або пагадзіцеся, што сеанс можа абарвацца. Для ўсяго, што чакае на другім канцы, наўмысная змена рэгіёна выглядае як збой сеткі.

Фіксуйце збой, а не пустую панэль

Адсутнае меню разам з кліентам, які збаіць, — гэта іншая праблема, і яна заслугоўвае іншай справаздачы. Сабярыце дакладны вывад запыту стану, зробленага падчас збою. Гэты запіс аддзяляе збой кліента або службы ад збою інтэграцыі з абалонкай, чаго здымак пустога кута зрабіць не можа.

ps -ef | grep -i piavpn
ls -l /opt/piavpn/bin/piactl
piactl get connectionstate

Калі спіс працэсаў не паказвае кампанентаў PIA, але бінарны файл існуе, праграма проста не запушчана, і выпраўленне — запусціць яе. Калі працэс ёсць, а запыт усё яшчэ збаіць, кліент не можа дасягнуць уласнай фонавай службы, таму перазапусціце праграму працоўнага стала, перш чым мяняць што-небудзь яшчэ. Калі праверкі пройдзены, вы бачыце праблему панэлі і можаце спыніць адладку тунеля. Запішыце версію кліента з панэлі «Аб праграме» побач з тыпам сеансу, бо падтрымка латкі залежыць і ад версіі, і ад працоўнага асяроддзя.

Імпарт той жа падпіскі ў NetworkManager як асобнага злучэння стварае другога ўладальніка, які не наследуе наладжаныя PIA блакаванне або паводзіны раздзеленага тунеля, і далейшая дыягностыка ператвараецца ў здагадкі. Трымайце аднаго ўладальніка, пакуль значок адсутнічае, і няхай piactl будзе паверхняй кіравання. Камандны радок — не запасны варыянт для зламанай усталёўкі; ён звяртаецца да той жа праграмы праз іншыя дзверы.

Падобныя артыкулы