Бир гана жумушчу үстөлдө иштеген 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 жол үчүн кайра окуп чыгыңыз. Эгер ал бар болсо, иштеткич иштеди жана жоголгон белги — панелдин индикаторду колдоосуна байланыштуу өзүнчө маселе, сиз жаңы түзөткөн жаздырмага эмес.
Үч байкоону билетке жазыңыз: башталды, көрүнөт, туташты. Бул жазуу кийинки адамдын ошол эле үч тараптуу башаламандыгын кайталашына жол бербейт жана кайсы катмарга дагы иш керек экенин ачык кылат.