Исправљање уноса аутоматског покретања VPN-а који ради само на једној радној површини
VPN покретач који се покреће на једној радној површини, а не на другој, је филтер у уносу радне површине, а не квар тунела. Прво прочитајте OnlyShowIn, TryExec и надјачавање.
VPN клијент се покреће из менија апликација, тунел се повезује, а икона се никада не појављује после пријаве на једном рачунару, док се исти пакет понаша исправно на другом. Три запажања се стапају у једну жалбу: да ли се програм покренуо, да ли је његово сучеље видљиво и да ли је тунел активан. Покретачем управља унос радне површине са кључевима за филтрирање, и тај унос нема никакве везе са VPN протоколом. Пређите приручник редом и зауставите се када се једно од три јасно одвоји.
Три одвојене чињенице: покретање, икона, тунел
Унос радне површине покреће програм. Он не може да инсталира имплементацију системске траке и не може да учини да се индикатор појави на панелу који не подржава протокол који апликација користи. Ако процес већ ради, питање покретања је одговорено и уместо тога гледате проблем интеграције.
Тунел је опет трећа чињеница. Икона која недостаје није доказ да је веза прекинута, а убијање и поновно покретање клијента да би се икона „поправила“ јесте управо начин на који се исправан тунел прекида без разлога. Корисници пријављују икону која недостаје и покварен тунел у истој реченици, и управо зато те две ствари треба раздвојити на папиру.
Раздвојите их пре него што било шта промените. Проверите да ли процес постоји, затим да ли панел подржава индикатор, а затим да ли сучеље извештава о вези. Сваки одговор упућује на други слој и другог власника.
Пронађите унос који сесија заиста чита
Уноси аутоматског покретања живе у корисничком директоријуму и у системском директоријуму, а када се имена датотека поклопе, побеђује корисничка копија. Читање погрешног уноса је најчешћи разлог зашто промена изгледа без учинка. Излистајте оба директоријума пре него што било шта уредите и забележите коју ће датотеку сесија заиста учитати.
ls -l ~/.config/autostart/ /etc/xdg/autostart/ echo "$XDG_CURRENT_DESKTOP" grep -H -E '^(OnlyShowIn|NotShowIn|TryExec|Hidden|Exec)=' ~/.config/autostart/*.desktop /etc/xdg/autostart/*.desktop
Променљива окружења исписује назив сесије са којим се пореде кључеви за филтрирање, и то је обично листа раздвојена двотачкама. Упоредите је дословно са вредностима у уносу, јер су ти називи детаљи конфигурације осетљиви на велика и мала слова, а не опис сесије. Вредност GNOME не одговара gnome, а настала тишина нема придружену поруку о грешци. Испишите је уместо да је претпостављате.
Ако исто име датотеке постоји у оба директоријума, важна је корисничка копија. Уређивање системске датотеке и питање зашто се ништа није променило је врло чест изгубљен сат.
Прочитајте кључеве за филтрирање, редом
Илустративни унос испод приказује кључеве који одлучују да ли ће сесија покренути програм. То је фрагмент, а не потпуни покретач, и вредности припадају измишљеној путањи.
[Desktop Entry] Type=Application Name=Example VPN Exec=/opt/example-vpn/client --minimized TryExec=/opt/example-vpn/client OnlyShowIn=GNOME;
OnlyShowIn ограничава унос на наведена окружења, а NotShowIn искључује наведена. Спецификација не дефинише корисно понашање када се оба појаве у једном уносу, зато датотеку која садржи оба третирајте као дефект, а не као паметну комбинацију. Уклоните кључ који вам не треба уместо да додате други и надате се правилу приоритета.
TryExec пита да ли извршна датотека постоји пре него што је сесија покрене. Зато путања заостала од старије инсталације потискује аутоматско покретање, иако нови пакет ради када се покрене из менија, и тај квар изгледа тачно као филтер радне површине.
Надјачајте на корисничком нивоу, не на системском
Када је филтер заиста погрешан за овај рачунар, копирајте системски унос у кориснички директоријум и промените копију. Према правилима аутоматског покретања XDG, кориснички унос са истим именом има предност, а Hidden=true онемогућава унос без брисања системске датотеке.
mkdir -p ~/.config/autostart cp /etc/xdg/autostart/example-vpn.desktop ~/.config/autostart/ sed -i '/^OnlyShowIn=/d' ~/.config/autostart/example-vpn.desktop desktop-file-validate ~/.config/autostart/example-vpn.desktop
Проверите резултат пре одјаве, јер се неисправан унос тихо игнорише и следећи тест вам ништа не говори. Поновна инсталација пакета неће уклонити ваше надјачавање, што је поента и уједно разлог да забележите да постоји. Запишите путању датотеке у тикету како би следећа особа пронашла надјачавање уместо да га изнова изводи.
Претпоставите ово уместо уређивања заједничких системских покретача, које мења понашање за сваког корисника на рачунару и не може се прегледати на исти начин. Надјачавање на корисничком нивоу је видљиво на једном месту, повратно брисањем једне датотеке и лако објашњиво у тикету. Системска датотека остаје онаква какву ју је добављач послао, тако да ажурирање пакета тихо не поништава ваше размишљање.
Потврдите покретање без дирања тунела
Одјавите се и поново пријавите, затим потврдите да процес постоји пре него што погледате панел. Успешно покретање и видљива икона су два различита резултата, и само други захтева рад на интеграцији са радном површином. Мешање њих двоје шаље вас да поново инсталирате пакет који је радио све време.
pgrep -af example-vpn systemctl --user status example-vpn.service journalctl --user -b --no-pager | grep -i example-vpn | tail -20
Ако процеса нема, поново прочитајте унос због преосталог филтера или застареле TryExec путање. Ако је присутан, покретач је радио и икона која недостаје је одвојен проблем са подршком за индикатор на панелу, а не са уносом који сте управо уредили.
Забележите три запажања у тикету: покренуто, видљиво, повезано. Тај запис спречава следећу особу да понови исту троструку збрку и показује ком слоју је још потребан рад.