'XScreenSaver'-avainsanan arkisto

[Ratkaisu] PAM USB pois päältä XScreenSaverin näytön lukituksen avauksessa

Lähtökohta

Pakettienhallinnassa xscreensaver, pamusb-tools ja libpam-usb ovat asennettuna.

Olen ottanut käyttöön XScreenSaverin näytön lukitsemisen virransäästön yhteydessä sekä pikanäppäintä painettaessa.

Olen määritellyt PAM USB:n avulla tunnistautumismenetelmäkseni USB-porttiin kytketyn muistitikun. Turvallisuuden vuoksi olen sulkenut tämän tunnistautumismenetelmän pois käytöstä työpöydän sisäänkirjautumisruudun yhteydessä (gdm-palvelu) ja konsolikirjautumisen yhteydessä (login-palvelu).

Ongelma
Haluan sulkea USB-porttiin kytketyllä muistitikulla tunnistautumisen pois käytöstä myös silloin, kun näyttö on lukittu.
Ratkaisu

Lisään /etc/pamusb.conf -tiedoston <services>...</services> -osion sisään seuraavat rivit:

<service id="xscreensaver">
  <option name="enable">false</option>
</service>

Tämän jälkeen palvelut määrittelevä asetustiedoston osa näyttää kokonaisuudessaan seuraavalta:

<!-- Services settings (e.g. gdm, su, sudo...) -->
<services>
  <!-- Disable pamusb for gdm, login and xscreensaver -->
  <!-- (display locking), a password will be asked instead. -->
  <service id="gdm">
    <option name="enable">false</option>
  </service>
  <service id="login">
    <option name="enable">false</option>
  </service>
  <service id="xscreensaver">
    <option name="enable">false</option>
  </service>
</services>

Kun olen tallentanut tiedostoon tekemäni muutokset, USB-portissa oleva muistitikku ei enää kelpaa tunnistautumismenetelmänä lukitun näytön avaamiseksi.

Huomautuksia
  • Tämä ratkaisu on sinänsä varsin triviaali sovellus PAM USB:n asetusten tekemisen ohjeissa annetusta GDM:n poissulkemisesta, mutta XScreenSaveriin liittyvää palvelun nimeä ei löytynyt suoraan annettuna mistään, joten päätin kirjata sen ylös tähän, vaikka sekin on sinänsä varsin helppo päätellä (niin kuin itse sen löysin).
  • Koska varsinaisesti haluan käyttää muistitikkutunnistautumista ainoastaan käyttöoikeustason kohottamisen (ainakin sudo ja gksudo) yhteydessä, voisi pitemmän päälle turvallisempi ratkaisu olla sellainen, jossa oletuksena (<defaults>...</defaults> -osiossa) PAM USB on pois päältä, ja määritellään käyttöön vain tietyille palveluille <services>…</services> -osiossa.

[Ratkaisu] XScreenSaver ja näytön lukitseminen pikanäppäimellä

Lähtökohta
Olen korvannut GNOME-työpöytäympäristön näytönsäästäjän XScreenSaverilla.
Ongelma
Haluan, että kun painan näppäinyhdistelmää Control + Break, näyttö lukittuu.
Ratkaisu

Liitän näppäinyhdistelmän vapaavalintaiseen komentoon, ja asetan sen jälkeen komennoksi näytön lukitsevan komennon.

  1. Otan esiin Asetusten muokkauksen Sovellukset → Järjestelmätyökalut -valikosta.
  2. Asetusten muokkaus -ikkunassa etsin /apps/metacity/global_keybindings/run_command_1 -avaimen, ja asetan sen arvoksi <Control>Break -merkkijonon.
  3. Etsin /apps/metacity/keybinding_commands/command_1 -avaimen, ja asetan sen arvoksi xscreensaver-command -lock -merkkijonon.

Kun tämän jälkeen painan näppäinyhdistelmää Control + Break, näyttö lukittuu.

[Ratkaisu] Näytön lukitseminen näytön virransäästön käynnistymisen yhteydessä

Lähtökohta
Olen avannut Näytönsäästäjän asetukset -ikkunan valitsemalla Järjestelmä → Asetukset -valikossa olevan Näytönsäästäjä-kohdan. Näytönsäästäjä on asetettu käynnistymään oletusviiveellään (10 minuuttia). Virransäästö-napista avautuvassa Virranhallinnan asetukset -ikkunassa näytön virransäästön käynnistyminen on sekin oletusasetuksessaan, 40 minuuttia toimettomuutta. Haluan, että näytön lukitseminen tapahtuu yhtä aikaa virransäästön käynnistymisen kanssa, 40 minuuttin toimettomuuden jälkeen.
Ongelma
Näytönsäästäjän asetukset ja virranhallinnan asetukset -ikkuna eivät anna minun valita näytön lukitsemisen viivettä, vaan valittuna se käynnistyy aina yhtä aikaa näytönsäästäjän kanssa.
Ongelman syy
GNOME-työpöytäympäristön ruudunsäästäjässä ei ole tarvitsemaani ominaisuutta.
Ratkaisu

Korvaan GNOME-työpöytäympäristön ruudunsäästäjän XScreenSaver-sovelluksella, joka tarjoaa haluamani ominaisuudet.

  1. Asennan Synaptic-pakettienhallinnassa xscreensaver-paketin.
  2. Asetan XScreenSaverin käynnistymään kirjautumisen yhteydessä.

    1. Valitsen Järjestelmä → Asetukset -valikosta Istunnot.
    2. Istunnot-ikkunan avauduttua valitsen siitä +Lisää-napin.
    3. Uusi kirjautumisohjelma -ikkunan avauduttua täytän sen sisältämät kentät seuraavilla tiedoilla:

      Nimi XScreenSaver
      Komento xscreensaver -no-splash
  3. Suljen GNOME-työpöytäympäristön ruudunsäästäjän asetusikkunan.
  4. Lopetan GNOMEn ruudunsäästäjäsovelluksen sudo killall gnome-screensaver -komennolla.
  5. Estän GNOME-työpöytäympäristön ruudunsäästäjän käynnistymisen sisäänkirjutumisen yhteydessä seuraavalla komennolla:

    gconftool-2 --type boolean -s \
    /apps/gnome_settings_daemon/screensaver/start_screensaver false
  6. Asetan XScreenSaverin jäljittelemään GNOMEn ruudunsäästäjää muilta kuin näytön lukitsemisen osalta.

    1. Otan XScreenSaverin asetukset esiin valitsemalla nyt Järjestelmä → Asetukset -valikosta kohdan Näytönsäästäjä.
    2. Käynnistän näytönsäästäjän vastaamalla myöntävästi asetusikkunan avautuessa esitettävään kyselyyn XScreenSaver-palvelimen käynnistämisestä.
    3. Valitsen Tila-kohtaan liittyvästä alasvetovalikosta kohdan Blank Screen Only. Varmistan, että Käynnistä-kohtaan liittyvä aika-asetus on 10 minuuttia.
    4. Varmistan, että Lock Screen After -kohta on käyttöön valittuna. Asetan siihen liittyvän aika-asetuksen arvoksi 30 minuuttia, sillä tämä aika mitataan näytönsäästäjän käynnistymisen alkamisesta, ja haluan näytön lukkiutuvan yhteensä 40 minuutin toimettomuuden jälkeen.
    5. Avaan Lisäasetukset-välilehden, ja varmistan, että Näytön virransäästö -osiossa Virransäästö käytössä -kohta on käytössä. Valmiustilan aikaviiveeksi asetan 40, Virransäästön 50 ja Virrankatkaisun 60 minuuttia.
    6. Fading and colormaps -osiossa varmistan, että Himmennä mustaan säästäjän käynnistyessä on käyttöön valittuna.
    7. Suljen XScreenSaverin asetusikkunan.

Tämän jälkeen näytönsäästäjä toimii haluamallani tavalla.