ਸਿਰਫ਼ ਇੱਕ ਡੈਸਕਟਾਪ 'ਤੇ ਚੱਲਣ ਵਾਲੀ 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 ਮਾਰਗ ਲਈ ਐਂਟਰੀ ਦੁਬਾਰਾ ਪੜ੍ਹੋ। ਜੇ ਹੈ, ਤਾਂ ਲਾਂਚਰ ਨੇ ਕੰਮ ਕੀਤਾ ਅਤੇ ਗੁੰਮ ਆਈਕਨ ਪੈਨਲ ਦੇ ਸੰਕੇਤ ਸਮਰਥਨ ਦੀ ਵੱਖਰੀ ਸਮੱਸਿਆ ਹੈ, ਤੁਸੀਂ ਹੁਣੇ ਸੰਪਾਦਿਤ ਕੀਤੀ ਐਂਟਰੀ ਦੀ ਨਹੀਂ।
ਟਿਕਟ ਵਿੱਚ ਤਿੰਨ ਨਿਰੀਖਣ ਦਰਜ ਕਰੋ: ਸ਼ੁਰੂ ਹੋਇਆ, ਦਿਸਦਾ ਹੈ, ਜੁੜਿਆ। ਉਹ ਰਿਕਾਰਡ ਅਗਲੇ ਵਿਅਕਤੀ ਨੂੰ ਉਹੀ ਤ੍ਰਿਮੁਖੀ ਉਲਝਣ ਦੁਹਰਾਉਣ ਤੋਂ ਰੋਕਦਾ ਹੈ ਅਤੇ ਸਪਸ਼ਟ ਕਰਦਾ ਹੈ ਕਿ ਕਿਹੜੀ ਪਰਤ ਨੂੰ ਅਜੇ ਕੰਮ ਚਾਹੀਦਾ ਹੈ।