ਨਵਾਂ VPN ਸ਼ਾਰਟਕੱਟ ਗੁੰਮ ਹੋਈਆਂ ਸੈਟਿੰਗਾਂ ਕਿਉਂ ਵਾਪਸ ਨਹੀਂ ਲਿਆਉਂਦਾ
ਲਾਂਚਰ ਤੈਅ ਕਰਦਾ ਹੈ ਕਿ ਪ੍ਰੋਗਰਾਮ ਕਿਵੇਂ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ, ਇਹ ਨਹੀਂ ਕਿ ਉਹ ਆਪਣੀਆਂ ਤਰਜੀਹਾਂ ਕਿੱਥੇ ਰੱਖਦਾ ਹੈ। ਆਈਕਨ ਨੂੰ ਦੋਸ਼ ਦੇਣ ਤੋਂ ਪਹਿਲਾਂ ਐਗਜ਼ੀਕਿਊਟੇਬਲ, ਵਰਤੋਂਕਾਰ ਅਤੇ ਕਨਫ਼ਿਗਰੇਸ਼ਨ ਦਾ ਸੰਦਰਭ ਤੁਲਨਾ ਕਰੋ।
ਗੁੰਮ ਮੀਨੂ ਐਂਟਰੀਆਂ ਅਤੇ ਗਾਇਬ ਹੁੰਦੀਆਂ ਤਰਜੀਹਾਂ ਇੱਕੋ ਪ੍ਰਤੀਕਿਰਿਆ ਨਾਲ ਠੀਕ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ, ਪਰ ਇਹ ਅਸੰਬੰਧਿਤ ਸਮੱਸਿਆਵਾਂ ਹਨ। ਇੱਕ ਡੈਸਕਟਾਪ ਏਕੀਕਰਨ ਹੈ, ਦੂਜੀ ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਸਥਿਤੀ ਹੈ, ਅਤੇ ਨਵਾਂ ਆਈਕਨ ਆਪਣੇ ਆਪ ਕੋਈ ਵੀ ਨਹੀਂ ਬਦਲਦਾ। ਦੋਵਾਂ ਨੂੰ ਵੱਖ ਕਰਨ ਲਈ ਇੱਕ ਪ੍ਰਯੋਗ ਕਾਫ਼ੀ ਹੈ ਅਤੇ ਇਹ ਇਸ ਵਿਸ਼ੇ ਵਿੱਚ ਲੋਕਾਂ ਦੀ ਬਹੁਤੀ ਉਲਝਣ ਦੀ ਵਿਆਖਿਆ ਕਰਦਾ ਹੈ। ਲਾਂਚਰ ਪ੍ਰੋਗਰਾਮ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ; ਪ੍ਰੋਗਰਾਮ ਤੈਅ ਕਰਦਾ ਹੈ ਕਿ ਉਹ ਕੀ ਯਾਦ ਰੱਖਦਾ ਹੈ।
ਦੋ ਕੰਮ ਜੋ ਸਿਰਫ਼ ਇੱਕੋ ਜਿਹੇ ਦਿਖਦੇ ਹਨ
ਡੈਸਕਟਾਪ ਏਕੀਕਰਨ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਵਾਤਾਵਰਨ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਲੱਭ ਸਕਦਾ ਹੈ, ਨਾਮ ਅਤੇ ਆਈਕਨ ਦਿਖਾ ਸਕਦਾ ਹੈ ਅਤੇ ਸਹੀ ਆਰਗਿਊਮੈਂਟ ਭੇਜ ਸਕਦਾ ਹੈ। ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਸਥਿਤੀ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਪ੍ਰੋਗਰਾਮ ਕਿਸੇ ਟਿਕਾਊ ਥਾਂ ਵਿੱਚ ਪ੍ਰੋਫ਼ਾਈਲ ਲਿਖਦਾ ਹੈ ਅਤੇ ਅਗਲੀ ਵਾਰ ਸ਼ੁਰੂ ਹੋਣ ’ਤੇ ਉਹ ਦੁਬਾਰਾ ਪੜ੍ਹਦਾ ਹੈ। ਕੋਈ ਵੀ ਦੂਜੇ ਨੂੰ ਲਾਜ਼ਮੀ ਨਹੀਂ ਕਰਦਾ, ਇਸ ਲਈ ਕੰਮ ਕਰਦਾ ਸ਼ਾਰਟਕੱਟ ਸਭ ਭੁੱਲ ਚੁੱਕੇ ਕਲਾਇੰਟ ਨੂੰ ਸ਼ੁਰੂ ਕਰ ਸਕਦਾ ਹੈ।
ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਆਪਣੇ ਨਿਯੰਤਰਣਾਂ ਰਾਹੀਂ ਇੱਕ ਬੇਹਾਨੀ ਪ੍ਰਦਰਸ਼ਨ-ਤਰਜੀਹ ਬਦਲੋ, ਫਿਰ ਉਹੀ ਢੰਗ ਨਾਲ ਬੰਦ ਕਰਕੇ ਮੁੜ ਖੋਲ੍ਹੋ। ਤਰਜੀਹ ਵਾਪਸ ਆਈ ਤਾਂ ਸਥਿਰਤਾ ਕੰਮ ਕਰਦੀ ਹੈ ਅਤੇ ਬਾਕੀ ਸ਼ਿਕਾਇਤ ਡੇਟਾ ਸੰਭਾਲਣ ਦੀ ਨਹੀਂ ਸਗੋਂ ਵਿੰਡੋ ਲੱਭਣ ਦੀ ਹੈ। ਜੇ ਉਹ ਗਾਇਬ ਹੋ ਜਾਵੇ ਤਾਂ ਸ਼ਾਰਟਕੱਟ ਧਿਆਨ ਭਟਕਾਉਣ ਵਾਲਾ ਹੈ ਅਤੇ ਅਸਲ ਸਵਾਲ ਇਹ ਹੈ ਕਿ ਉਹ ਪ੍ਰਕਿਰਿਆ ਆਪਣੀਆਂ ਫ਼ਾਈਲਾਂ ਕਿੱਥੇ ਰੱਖਦੀ ਹੈ। ਇੱਕ ਸਮੇਂ ਇੱਕ ਤਰਜੀਹ ਜਾਂਚੋ, ਕਿਉਂਕਿ ਦੁਬਾਰਾ ਪਾਸਵਰਡ ਮੰਗਣ ਵਾਲਾ ਕਲਾਇੰਟ ਕਨਫ਼ਿਗਰੇਸ਼ਨ ਗੁਆਉਣ ਦੀ ਥਾਂ ਕੋਈ ਭੇਦ ਬਚਾ ਰਿਹਾ ਹੋ ਸਕਦਾ ਹੈ।
ਮੁੜ ਸਥਾਪਨਾ ਤੋਂ ਪਹਿਲਾਂ ਸ਼ੁਰੂਆਤ ਦੇ ਇਨਪੁੱਟ ਦੀ ਤੁਲਨਾ ਕਰੋ
ਡੈਸਕਟਾਪ ਐਂਟਰੀ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ ਅਤੇ ਪੜ੍ਹੋ ਕਿ ਉਹ ਅਸਲ ਵਿੱਚ ਕੀ ਕਰਦੀ ਹੈ, ਕਿਉਂਕਿ ਮੀਨੂ ਤੋਂ ਸ਼ੁਰੂ ਕਰਨਾ ਆਪਣੇ ਆਪ ਟਰਮੀਨਲ ਤੋਂ ਸ਼ੁਰੂ ਕਰਨ ਵਰਗਾ ਹੀ ਪ੍ਰਕਿਰਿਆ-ਵਾਤਾਵਰਨ ਨਹੀਂ ਹੁੰਦਾ। ਮਹੱਤਵਪੂਰਨ ਕੁੰਜੀਆਂ ਹਨ Exec, Path ਅਤੇ ਅਸਿੱਧੇ ਤੌਰ ’ਤੇ ਉਹ ਵਾਤਾਵਰਨ ਜੋ ਸੈਸ਼ਨ ਦਿੰਦਾ ਹੈ। Exec ਵਿੱਚਲੀ ਰੈਪਰ ਸਕ੍ਰਿਪਟ ਇੱਕ ਚਰ ਸੈੱਟ ਕਰ ਸਕਦੀ ਹੈ, ਡਾਇਰੈਕਟਰੀ ਬਦਲ ਸਕਦੀ ਹੈ ਜਾਂ ਅਜਿਹਾ ਵਿਸ਼ੇਸ਼ ਅਧਿਕਾਰ ਵਾਲਾ ਸਹਾਇਕ ਬੁਲਾ ਸਕਦੀ ਹੈ ਜੋ ਮੀਨੂ ਕਦੇ ਨਹੀਂ ਦਿਖਾਉਂਦਾ। ਮੁੜ ਸਥਾਪਨਾ ਉਹ ਫ਼ਾਈਲਾਂ ਬਦਲਦੀ ਹੈ ਜੋ ਐਪਲੀਕੇਸ਼ਨ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਸਨ, ਅਤੇ ਇਹ ਘੱਟ ਹੀ ਬਦਲਿਆ ਚਰ ਹੁੰਦਾ ਹੈ।
grep -h '^Exec=' ~/.local/share/applications/*.desktop
desktop-file-validate ~/.local/share/applications/client.desktop
~/.local/share/applications ਅਧੀਨ ਫ਼ਾਈਲ ਨੂੰ /usr/share/applications ਵਾਲੀ ਤੋਂ ਪਹਿਲਾਂ ਵੇਖੋ, ਕਿਉਂਕਿ ਵਰਤੋਂਕਾਰ ਦੀ ਕਾਪੀ ਸਿਸਟਮ ਦੀ ਕਾਪੀ ਨੂੰ ਢੱਕ ਦਿੰਦੀ ਹੈ। ਜਦੋਂ ਐਂਟਰੀ ਮਾੜਾ ਵਿਵਹਾਰ ਕਰੇ ਤਾਂ desktop-file-validate ਚਲਾਓ, ਅਤੇ ਹਟਾਏ ਗਏ ਪਾਥ ਵੱਲ ਅਜੇ ਵੀ ਇਸ਼ਾਰਾ ਕਰਨ ਵਾਲੀ ਪੁਰਾਣੀ ਕਾਪੀ ਲੱਭੋ। ਅਵੈਧ ਵਰਤੋਂਕਾਰ ਕਾਪੀ ਨੂੰ ਬਹੁਤੇ ਡੈਸਕਟਾਪ ਅਜੇ ਵੀ ਤਰਜੀਹ ਦਿੰਦੇ ਹਨ, ਇਸ ਲਈ ਟੁੱਟੀ ਫ਼ਾਈਲ ਮੀਨੂ ਤੋਂ ਐਂਟਰੀ ਹਟਾ ਸਕਦੀ ਹੈ ਜਦੋਂ ਕਿ ਪੈਕੇਜ ਦੀ ਫ਼ਾਈਲ ਵੈਧ ਰਹਿੰਦੀ ਹੈ। ਫਿਰ ਉਹੀ ਕਮਾਂਡ ਹੱਥ ਨਾਲ ਚਲਾਓ ਅਤੇ ਤੁਲਨਾ ਕਰੋ ਕਿ ਦੋਵੇਂ ਸ਼ੁਰੂਆਤਾਂ ਕੀ ਪੈਦਾ ਕਰਦੀਆਂ ਹਨ।
ਤਰਜੀਹ ਅਸਲ ਵਿੱਚ ਕਿੱਥੇ ਰਹਿੰਦੀ ਹੈ
ਜੋ ਐਪਲੀਕੇਸ਼ਨਾਂ XDG ਆਧਾਰ ਡਾਇਰੈਕਟਰੀ ਨਿਯਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰਦੀਆਂ ਹਨ ਉਹ ਕਨਫ਼ਿਗਰੇਸ਼ਨ $XDG_CONFIG_HOME ਅਧੀਨ, ਟਿਕਾਊ ਸਥਿਤੀ $XDG_STATE_HOME ਅਧੀਨ ਅਤੇ ਸੁੱਟਣਯੋਗ ਡੇਟਾ $XDG_CACHE_HOME ਅਧੀਨ ਰੱਖਦੀਆਂ ਹਨ, ਅਤੇ ਜਦੋਂ ਉਹ ਚਰ ਸੈੱਟ ਨਾ ਹੋਣ ਤਾਂ ਡਿਫ਼ਾਲਟ ਰੂਪ ਵਿੱਚ ~/.config, ~/.local/state ਅਤੇ ~/.cache ਵਰਤਦੀਆਂ ਹਨ। ਇਹ ਤਿੰਨ ਭੂਮਿਕਾਵਾਂ ਹਨ, ਵਾਅਦੇ ਨਹੀਂ, ਇਸ ਲਈ ਕੋਈ ਖ਼ਾਸ VPN ਉਤਪਾਦ ਬਿਲਕੁਲ ਹੋਰ ਕੁਝ ਦਸਤਾਵੇਜ਼ੀਕਰਨ ਕਰ ਸਕਦਾ ਹੈ। ਡਾਇਰੈਕਟਰੀ ਦੇ ਨਾਮ ਤੋਂ ਪਾਥ ਦਾ ਅੰਦਾਜ਼ਾ ਲਾਉਣ ਨਾਲੋਂ ਵਿਕਰੇਤਾ ਦਾ ਆਪਣਾ ਦਸਤਾਵੇਜ਼ ਪੜ੍ਹਨਾ ਬਿਹਤਰ ਹੈ। ਜਦੋਂ ਦਸਤਾਵੇਜ਼ ਘੱਟ ਹੋਣ ਤਾਂ ਫ਼ਾਈਲ ਸਿਸਟਮ ਦੀ ਥਾਂ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਵੇਖੋ।
ਫ਼ਾਈਲ ਖੋਲ੍ਹਣ ’ਤੇ ਫ਼ਿਲਟਰ ਕੀਤਾ ਟ੍ਰੇਸ ਹਰ ਉਹ ਕਨਫ਼ਿਗਰੇਸ਼ਨ ਪਾਥ ਦਿਖਾਉਂਦਾ ਹੈ ਜੋ ਕਲਾਇੰਟ ਅਜ਼ਮਾਉਂਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਉਹ ਪਾਥ ਵੀ ਹੈ ਜੋ ਉਹ ਬਾਹਰ ਨਿਕਲਦਿਆਂ ਲਿਖਦਾ ਹੈ। ਇਹਨੂੰ ਉਸੇ ਵਰਤੋਂਕਾਰ ਅਤੇ ਉਸੇ ਵਾਤਾਵਰਨ ਨਾਲ ਚਲਾਓ, ਫਿਰ ਉਹਨਾਂ ਪਾਥਾਂ ਦੀ ਤੁਲਨਾ ਉਹਨਾਂ ਡਾਇਰੈਕਟਰੀਆਂ ਨਾਲ ਕਰੋ ਜਿਨ੍ਹਾਂ ਦੀ ਤੁਹਾਨੂੰ ਆਸ ਸੀ।
strace -f -e trace=openat,stat -o /tmp/vpn.log vpn-client
ਭੇਦਾਂ ਅਤੇ ਪ੍ਰੋਫ਼ਾਈਲਾਂ ਦੇ ਮਾਲਕ ਵੱਖਰੇ ਹੁੰਦੇ ਹਨ
ਸੰਭਾਲਿਆ ਪ੍ਰੋਫ਼ਾਈਲ ਅਤੇ ਸੰਭਾਲਿਆ ਪ੍ਰਮਾਣ ਵੱਖਰੀਆਂ ਵਸਤੂਆਂ ਹਨ, ਅਕਸਰ ਵੱਖਰੇ ਭੰਡਾਰ ਨਾਲ। ਇੱਕ ਕਨਫ਼ਿਗਰੇਸ਼ਨ ਫ਼ਾਈਲ ਵਿੱਚ ਰਹਿ ਸਕਦਾ ਹੈ ਜਦੋਂ ਕਿ ਦੂਜਾ ਹਰ ਸੈਸ਼ਨ ’ਤੇ ਖੁੱਲ੍ਹਣ ਵਾਲੀ ਕੀਰਿੰਗ ਵਿੱਚ ਬੈਠਦਾ ਹੈ, ਇਸ ਲਈ ਦੁਬਾਰਾ ਪਾਸਵਰਡ ਮੰਗਣ ਵਾਲਾ ਕਲਾਇੰਟ ਸ਼ਾਇਦ ਉਹੀ ਕਰ ਰਿਹਾ ਹੈ ਜਿਸ ਲਈ ਉਹ ਬਣਾਇਆ ਗਿਆ ਸੀ। ਬੇਨਤੀ ਰੋਕਣ ਲਈ ਪ੍ਰੋਫ਼ਾਈਲ ਮਿਟਾਉਣਾ ਹੀ ਉਹ ਢੰਗ ਹੈ ਜਿਸ ਨਾਲ ਲੋਕ ਕੰਮ ਕਰਦੀ ਕਨਫ਼ਿਗਰੇਸ਼ਨ ਗੁਆਦੇ ਹਨ।
ਵਿਸ਼ੇਸ਼ ਅਧਿਕਾਰ ਵਾਲੀਆਂ ਸ਼ੁਰੂਆਤਾਂ ਇਸਨੂੰ ਹੋਰ ਗੁੰਝਲਦਾਰ ਬਣਾਉਂਦੀਆਂ ਹਨ, ਕਿਉਂਕਿ sudo ਜਾਂ PolicyKit ਸਹਾਇਕ ਰਾਹੀਂ ਸ਼ੁਰੂ ਕਰਨਾ ਵੱਖਰੀ ਹੋਮ ਡਾਇਰੈਕਟਰੀ ਅਤੇ ਇਸ ਲਈ ਵੱਖਰਾ ਕਨਫ਼ਿਗਰੇਸ਼ਨ ਸਮੂਹ ਪੇਸ਼ ਕਰ ਸਕਦਾ ਹੈ। ਪੂਰੀ ਹੋਮ ਡਾਇਰੈਕਟਰੀ ’ਤੇ ਵਾਰ-ਵਾਰ ਨਹੀਂ, ਸਗੋਂ ਐਪਲੀਕੇਸ਼ਨ ਜਿਸ ਖ਼ਾਸ ਫ਼ਾਈਲ ਦਾ ਦਸਤਾਵੇਜ਼ੀਕਰਨ ਕਰਦੀ ਹੈ ਉਸ ’ਤੇ ਮਾਲਕੀ ਠੀਕ ਕਰੋ, ਫਿਰ ਤੈਅ ਕਰੋ ਕਿ ਅੱਗੇ ਪ੍ਰੋਫ਼ਾਈਲ ਕਿਹੜੀ ਪਛਾਣ ਦੀ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ ਅਤੇ ਭਵਿੱਖ ਦੀਆਂ ਸ਼ੁਰੂਆਤਾਂ ਉਸ ਨਾਲ ਮੇਲ ਖਾਂਦੀਆਂ ਰੱਖੋ।
ਆਈਕਨ ਤੁਹਾਨੂੰ ਕੀ ਦੱਸ ਸਕਦਾ ਹੈ ਅਤੇ ਕੀ ਨਹੀਂ
ਆਈਕਨ ਸਾਬਤ ਕਰਦਾ ਹੈ ਕਿ ਲਾਂਚਰ ਫ਼ਾਈਲ ਹੱਲ ਹੁੰਦੀ ਹੈ, ਅਤੇ ਇਸ ਤੋਂ ਵੱਧ ਕੁਝ ਨਹੀਂ। ਕਨੈਕਸ਼ਨ ਦੀ ਸਥਿਤੀ ਕਲਾਇੰਟ ਦੀ ਹੈ, ਇਸ ਲਈ ਇੱਕੋ ਭਰੋਸੇਯੋਗ ਜਾਂਚ ਇੰਟਰਫ਼ੇਸ, ਰੂਟ ਜਾਂ ਕਲਾਇੰਟ ਦਾ ਆਪਣਾ ਸਥਿਤੀ ਆਉਟਪੁੱਟ ਹੈ। ਸ਼ੁਰੂ ਨਾ ਹੋਇਆ ਟਰੇ ਐਪਲੈਟ ਕੰਮ ਕਰਦੀ ਟਨਲ ਨੂੰ ਟੁੱਟੀ ਦਿਖਾ ਸਕਦਾ ਹੈ, ਜਦੋਂ ਕਿ ਪੁਰਾਣਾ ਐਪਲੈਟ ਟੁੱਟੀ ਨੂੰ ਠੀਕ ਦਿਖਾ ਸਕਦਾ ਹੈ। ਕਨੈਕਸ਼ਨ ਅਤੇ ਲਾਂਚਰ ਵੱਖਰੇ ਤੌਰ ’ਤੇ ਜਾਂਚੋ, ਫਿਰ ਲਿਖੋ ਕਿ ਤੁਸੀਂ ਅਸਲ ਵਿੱਚ ਕਿਹੜਾ ਠੀਕ ਕੀਤਾ।
ਜੇ ਦੋਵੇਂ ਟੁੱਟੇ ਸਨ ਤਾਂ ਮੁਰੰਮਤ ਨੂੰ ਇੱਕੋ ਬਦਲਾਅ ਮੰਨਣ ਦੀ ਪ੍ਰਵਿਰਤੀ ਦਾ ਵਿਰੋਧ ਕਰੋ। ਐਂਟਰੀ ਠੀਕ ਕਰੋ, ਸ਼ੁਰੂਆਤ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ, ਫਿਰ ਟਨਲ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ ਅਤੇ ਹਰ ਕਦਮ ਦਾ ਨਤੀਜਾ ਲਿਖੋ। ਉਹੀ ਰਿਕਾਰਡ ਅਗਲੀ ਗੁੰਮ ਸੈਟਿੰਗਾਂ ਦੀ ਰਿਪੋਰਟ ਨੂੰ ਇਸ ਦੀ ਦੁਹਰਾਈ ਨਹੀਂ ਸਗੋਂ ਨਿਦਾਨਯੋਗ ਬਣਾਉਂਦਾ ਹੈ, ਅਤੇ ਉਹੀ ਅਗਲੇ ਵਿਅਕਤੀ ਨੂੰ ਦੱਸਦਾ ਹੈ ਕਿ ਸਮੱਸਿਆ ਦਾ ਕਿਹੜਾ ਅੱਧਾ ਹਿੱਸਾ ਅਸਲੀ ਸੀ।