Puuttuvat valikkokohdat ja katoavat asetukset korjataan samalla refleksillä, ja ne ovat toisiinsa liittymättömiä ongelmia. Toinen on työpöytäintegraatio, toinen sovelluksen tila, eikä uusi kuvake muuta kumpaakaan itsestään. Niiden erottaminen vaatii yhden kokeen ja selittää suurimman osan siitä hämmennystä, jota ihmiset tuovat tähän aiheeseen. Käynnistin käynnistää ohjelman; ohjelma päättää, mitä se muistaa.

Kaksi työtä, jotka vain näyttävät yhdeltä

Työpöytäintegraatio tarkoittaa, että ympäristö löytää suoritettavan tiedoston, esittää nimen ja kuvakkeen ja välittää oikeat argumentit. Sovelluksen tila tarkoittaa, että ohjelma kirjoittaa profiilin pysyvään paikkaan ja lukee sen seuraavalla käynnistyksellä. Kumpikaan ei edellytä toista, minkä vuoksi toimiva pikakuvake voi käynnistää asiakkaan, joka on unohtanut kaiken.

Muuta yhtä vaaratonta näyttöasetusta sovelluksen omilla säätimillä, sulje se sitten ja avaa uudelleen samalla tavalla. Jos asetus palaa, pysyvyys toimii ja jäljellä oleva valitus koskee ikkunan löytämistä eikä tietojen tallentamista. Jos se katoaa, pikakuvake on harhautus ja todellinen kysymys on, missä tuo prosessi pitää tiedostojaan. Testaa yhtä asetusta kerrallaan, sillä asiakas, joka kysyy salasanaa uudelleen, saattaa suojella salaisuutta eikä menettää kokoonpanoa.

Vertaa käynnistyksen syötteitä ennen uudelleenasennusta

Aloita työpöytätietueesta ja lue, mitä se todella tekee, sillä valikosta käynnistäminen ei ole automaattisesti sama prosessiympäristö kuin päätteestä käynnistäminen. Tärkeät avaimet ovat Exec, Path ja epäsuorasti ympäristö, jonka istunto tarjoaa. Kääreskripti kohdassa Exec voi asettaa muuttujan, vaihtaa hakemistoa tai kutsua etuoikeutettua apuria, jota valikko ei koskaan näytä. Uudelleenasennus korvaa tiedostoja, jotka sovelluksella jo oli, ja se on harvoin se muuttuja, joka muuttui.

grep -h '^Exec=' ~/.local/share/applications/*.desktop
desktop-file-validate ~/.local/share/applications/client.desktop

Katso tiedostoa hakemistossa ~/.local/share/applications ennen hakemistossa /usr/share/applications olevaa, koska käyttäjän kopio peittää järjestelmän kopion. Suorita desktop-file-validate, kun tietue käyttäytyy väärin, ja etsi vanhentunut kopio, joka osoittaa yhä poistettuun polkuun. Kelpaamaton käyttäjän kopio on useimmilla työpöydillä yhä etusijalla, joten rikkinäinen tiedosto voi poistaa tietueen valikosta, kun paketin tiedosto pysyy kelvollisena. Suorita sitten sama komento käsin ja vertaa, mitä kaksi käynnistystä tuottavat.

Missä asetus todella elää

XDG-perushakemistojen sääntöjä noudattavat sovellukset sijoittavat kokoonpanon hakemistoon $XDG_CONFIG_HOME, pysyvän tilan hakemistoon $XDG_STATE_HOME ja kertakäyttöiset tiedot hakemistoon $XDG_CACHE_HOME ja käyttävät oletuksena hakemistoja ~/.config, ~/.local/state ja ~/.cache, kun nämä muuttujat eivät ole asetettuina. Kolme ovat rooleja eivätkä lupauksia, joten tietty VPN-tuote voi dokumentoida jotain aivan muuta. Myyjän oman dokumentaation lukeminen on parempaa kuin polun arvaaminen hakemistonimestä. Kun dokumentaatio on ohutta, tarkkaile prosessia tiedostojärjestelmän sijaan.

Tiedostojen avauksiin suodatettu jäljitys näyttää jokaisen kokoonpanopolun, jota asiakas yrittää, mukaan lukien sen, jonka se kirjoittaa poistuessaan. Suorita se samana käyttäjänä samassa ympäristössä ja vertaa sitten näitä polkuja hakemistoihin, joita odotit.

strace -f -e trace=openat,stat -o /tmp/vpn.log vpn-client

Salaisuuksilla ja profiileilla on eri omistajat

Tallennettu profiili ja tallennettu kirjautumistieto ovat erillisiä objekteja, usein erillisellä tallennuksella. Toinen voi elää kokoonpanotiedostossa, kun toinen istuu avainrenkaassa, joka avautuu istuntokohtaisesti, joten salasanaa uudelleen kysyvä asiakas tekee ehkä vain sen, mihin se suunniteltiin. Profiilin poistaminen kehotteen pysäyttämiseksi on se tapa, jolla ihmiset menettävät toimivan kokoonpanon.

Etuoikeutetut käynnistykset mutkistavat tätä edelleen, koska sudo tai PolicyKit-apurin kautta tapahtuva käynnistys voi esittää toisen kotihakemiston ja siten toisen kokoonpanokokonaisuuden. Korjaa omistajuus siinä tietyssä tiedostossa, jonka sovellus dokumentoi, eikä rekursiivisesti koko kotihakemistossa, päätä sitten, minkä identiteetin pitäisi omistaa profiili jatkossa, ja pidä tulevat käynnistykset sen mukaisina.

Mitä kuvake voi kertoa sinulle ja mitä ei

Kuvake todistaa, että käynnistintiedosto ratkeaa, eikä mitään muuta. Yhteyden tila kuuluu asiakkaalle, joten ainoa luotettava tarkistus on käyttöliittymä, reitti tai asiakkaan oma tilatuloste. Ilmaisinalueen sovellus, joka ei käynnistynyt, voi saada toimivan tunnelin näyttämään rikkinäiseltä, kun taas vanhentunut sovellus voi saada rikkinäisen näyttämään kunnossa olevalta. Testaa yhteys ja käynnistin erikseen ja kirjoita sitten muistiin, kumman todella korjasit.

Jos molemmat olivat rikki, vastusta kiusausta kohdella korjausta yhtenä muutoksena. Korjaa tietue, vahvista käynnistys, vahvista sitten tunneli ja merkitse jokaisen vaiheen tulos. Juuri se merkintä tekee seuraavasta kadonneiden asetusten raportista diagnosoitavan eikä tämän toistoa, ja se myös kertoo seuraavalle ihmiselle, kumpi puoli ongelmasta oli todellinen.

Aiheeseen liittyvät artikkelit