Avstavningar på webben

Något som stör mig med att skriva på nätet är att man inte kan skriva med av­stavning­ar. Eller ja, man kan, men det är krång­ligt. Det finns två sätt, ett manu­ellt och ett auto­matiskt.

Det manu­ella är klart värst. Då ord­nar man först så att texten just­eras med rak höger- och vänster­kant, och sedan propp­ar man in binde­streck och rad­matningar där det tycks pas­sa bäst. Så­dant pyssla­de vi typo­grafer med förr i tiden, med bly­typer och så­där. Det var dock före min tid, och själv har jag aldrig gjort an­nat än digi­tal typ­sätt­ning.

Den auto­matiska met­oden är att in­foga en liten ram­sa på de plat­ser i orden där en rad­matning är lämp­lig: ­. Att det lik­nar ordet blyg på eng­elska är fak­tiskt gan­ska träff­ande. Re­sul­tatet blir ett binde­streck som inte syns om det inte be­hövs, vilket vill säga om ordet av­stavas. Det är med hjälp av det­ta lil­la magi­ska tecken som det här in­lägget blivit av­stavat. (Om du inte ser några av­stav­ningar så beror det på att din webb­läs­are klara­de sig utan sådant tjafs).

Där­med är allt inte frid och fröjd, trots att det är auto­mat­iskt. Två prob­lem åter­står. För det för­sta är det jobbigt att skriva ­ var­je gång ett ord är lämp­ligt för snygg av­stav­ning. Och et­ter vär­re: Man kan inte av­stava många sam­man­sat­ta ord. Sät­ter man till ex­em­pel sam­man katt och tass så blir det kattass. Ett t ska bort. Skriv­er man det­ta som katt­tass så blir det ju katttass, och ett t för mycket. Gör man inte det, så blir det kattass i löp­an­de text, men kom­mer att av­stavas som kat-tass eller katt-ass istäl­let, och det går ju inte hel­ler.

Ack och hu så fasligt illa det är!

Att köra Firefox på eget konto

Som webbparanoid står man inför ständiga faror. Tänk om min webbläsare har något farligt säkerhetshål, som någon otrevlig webbsida jag råkar besöka får för sig att utnyttja för att ladda upp alla mina filer, eller än värre ta bort dem helt?

Problemet går givetvis att lösa på flera sätt, och lika givet är att ingen lösning är fullkomlig. Den jag tänker lägga fram här torde fungera som försvar mot de flesta »opersonliga« attacker man kan råka ut för. Om någon däremot faktiskt är ute efter dig så har du nog ingen glädje av det.

Vad vi kommer att göra är att ordna så att Firefox (och faktiskt vilka program du vill) kan köras utan rättigheter till din home-katalog. Simpelt som en plätt.

The following takes place in a unix-like environment. Du måste ha sudo och XTerm installerat.

Skulle sudo bråka med dig, se avsnittet längre ned om sudo.

  1. Skapa en ny användare på ditt system, och döp den till något smart. Låt oss kalla den _web. Ge den en egen home-katalog som heter /home/web.
  2. Spärra all tillgång till din egen home-katalog för andra användare än du själv:

    $ chmod og-rwx $HOME

  3. Kontrollera att användaren _web berövats sådan tillgång:

    $ echo "Den här textfilen får du inte läsa." > ~/kontrollfil.txt
    $ sudo -u _web cat ~/kontrollfil.txt
    Password:
    cat: /home/jesper/kontrollfil.txt: Permission denied

    Sedan kan du ta bort testfilen:

    $ rm ~/kontrollfil.txt

    Om inget permission blev denied så har du ett konstigt filsystem. Lämna en kommentar!
  4. Kopiera din webbläsares inställningskatalog till den nya användaren. Använder du Firefox heter den .mozilla och kör du Opera är det .opera. Kopiera katalogen såhär:

    $ sudo cp -r $HOME/.mozilla /home/web/
    $ sudo chown -R _web._web /home/web/.mozilla

    Och liknande för Opera:

    $ sudo cp -r $HOME/.opera /home/web/
    $ sudo chown -R _web._web /home/web/.opera

    En del andra webbläsare sparar sina inställningar i en katalog inuti katalogen .config, däribland Midori. För att kopiera en sådan katalog måste du gå litet annorlunda tillväga.

    $ sudo -u _web mkdir /home/web/.config
    $ sudo cp -r $HOME/.config/midori /home/web/.config
    $ sudo chown -R _web._web /home/web/.config

  5. Med ett par enkla trollformler kan du nu köra igång din webbläsare under en annan användare, men med samma inställningar som dem du kopierade från ditt vanliga konto. Men trollformler är inte roliga att komma ihåg, så vi automatiserar det hela med ett skalskript. I exemplet lägger vi det i filen $HOME/bin/webuser.sh, och detta är vad den skall innehålla:

    #!/bin/sh
    if [ X$1 == X ]; then exit; else app=$(which $1); fi
    xhost localhost && cd /home/web/ && \
        sudo -H -u _web env HOME=/home/web $app --display localhost:0.0&

    (Eventuellt klagar någon insatt läsare på att $HOME-variabeln får samma värde flera gånger om. Men det verkar faktiskt krävas i vissa sammanhang, och jag är osäker på varför.)
  6. Sista stegets utförande lämnar jag som en övning åt läsaren. Det som måste skapas är en ikon, ett menyalternativ eller något annat fiffigt, som vid aktivering gör bruk av den smått makalösa trollformeln ovan:

    xterm -geometry 20x1 -e 'sudo sh $HOME/bin/webuser.sh WEBBLÄSARE'

    Det sista ordet ska givetvis inte vara »WEBBLÄSARE«, utan det kommando som din webbläsare startas med. Till exempel firefox. Om du får välja mellan att köra kommandot i ett terminalfönster eller inte, så kan du välja att låta bli.

Vad kommer hända när du dubbelklickar på den där ikonen? Jo, en pytteliten ruta dyker upp på skärmen som frågar efter lösenord. Det är sudo som frågar, och i sina flesta inkarnationer är det lösenordet till ens eget konto det ber om. Vanligtvis frågar sudo inte heller efter lösenordet oftare än kanske var tionde eller tjugonde minut. Programmet kommer nämligen ihåg lösenordet åt dig en stund efter att du matat in det.

Om sudo bråkar!

Om sudo inte vill låta dig hålla på med sådant precis hur som helst, så kan du lägga till följande rad i slutet av filen /etc/sudoers – men akta dig! Om du råkar göra den filen ogiltig kan du bli utelåst från ditt eget system!

user    ALL=(ALL) SETENV: ALL

Första ordet ska förstås inte vara user, utan ditt eget användarnamn på din burk. Detta är viktigt! Gör du fel, som sagt, så får du rejäla problem, och kommer sitta och svära över att du aldrig lärt dig ed, en texteditor anpassad för en tid då man hade skrivare istället för datorskärmar. (Jag skojar inte.)

Ett sätt att undvika sådana missöden är att försöka redigera filen med följande kommando:

$ sudo env EDITOR=gedit visudo

Ersätt gedit med den texteditor du gillar att använda. När du ändrat färdigt i filen och sparar och stänger, så kommer visudo kontrollera att filen är riktig. Har du gjort något tokigt kommer den ge dig en chans att reparera skadan innan det är för sent.

Och till sist, om du inte gillar att sudo kommer ihåg dina lösenord, lägg till följande rad långt upp i /etc/sudoers, bland de andra Defaults-raderna, om du har några.

Defaults timestamp_timeout =0

Det var allt!

Att rotera PDF-filer

Ibland har någon varit klantig och scannat ett dokument i liggande format, så att upp är åt höger eller vänster. Vissa gånger är dokumentet helt enkelt upp-och-ned. Vad ska man göra då?

Nå, det är faktiskt inte nödvändigt att skaffa nackspärr bara för att man ännu inte hunnit kosta på sig någon knädator med snurrbar skärm. Kör du Windows kan du i och för sig rotera hela skärmen genom att hålla ned CTRL och ALT samtidigt som du trycker på en piltangent för att ändra på hela skrivbordet, men det kan lätt bli lite väl mystiskt i längden.

Ett första steg för att få bättre ordning på saker och ting är att installera en vettig PDF-läsare. MuPDF är en pytteliten och minimalistisk läsare som man styr med tangentbordet. Finns färdig att ladda hem till Windows, MacOS och Linux. Bland BSD-varianterna finns den åtminstone i ports på OpenBSD.

MuPDF finns dessutom som tillägg till Firefox. Ett utmärkt och jättesnabbt sätt att öppna PDF-filer direkt i webbläsaren!

Men så snart du laddat hem MuPDF kommer du antagligen att klia dig på huvudet: Hur styr man egentligen den här grunkan?

Och det är lätt.

  • Flytta omkring på en sida genom att hålla ned vänster musknapp och släpa omkring dokumentet.
  • Kopiera text genom att markera det du vill kopiera med höger musknapp. Texten ska kopieras automatiskt i samma ögonblick som du markerat den, X11-style! Detta gäller alltså även Windows och MacOS.
  • Rotera dokumentet genom att trycka på L eller R, för 90° medurs respektive moturs.
  • Zooma in och ut genom att trycka på + och -. Det ska även gå att zooma genom att hålla ned shift-tangenten och använda blädderhjulet på musen.
  • Anpassa fönsterstorleken till sidan genom att trycka på W.
  • Bläddra till toppen av nästa sida genom att trycka på N.
  • För att tvärtom bläddra till botten av föregående sida så trycker du på P.
  • Bläddra till samma plats på nästa sida genom att trycka på mellanslag.
  • För att tvärtom bläddra till samma plats på föregående sida så trycker du på backsteg, alltså den knapp du tar bort felskrivningar med när du skriver.
  • Bläddra 10 sidor framåt med shift-N och 10 sidor bakåt med shift-B.
  • Sätt bokmärke på en sida genom att trycka på M. När du bläddrat omkring och vill gå tillbaka till bokmärket, så trycker du på T.
  • För att bläddra till ett visst sidnummer så skriver du först sidnumret, och sedan trycker du på G. För att till exempel gå till sidan 74 av ett dokument, skriv 74g.
  • Och till sist, när du är färdig och ska avsluta, skriv Q som i quit.

Skulle du sedan vilja rotera PDF-dokumentet på riktigt istället för bara i PDF-läsaren, så rekommenderas verktyget pdf90 som följer med i verktygslådan PDFjam för Linux eller MacOS. Något liknande för Windows har jag inte hittat, men möjligheten finns förstås att skriva ut dokumentet till en PDF-fil, och rotera det genom utskriftsinställningarna.

Om du inte kan skriva ut i PDF-format, så kan du använda den vanliga Skriv ut till fil-funktionen som är inbyggd i Windows. Observera att du måste ha en postscript-skrivare installerad, och välja den när du skriver ut till fil, för att det här ska fungera. När du ska välja filnamn att skriva ut till, se till att det slutar på ".ps". Sedan kan du använda ett postscript-till-PDF-verktyg i stil med PStill för att konvertera .ps-filen till en PDF-fil. Programmet finns även till MacOS och *nix-varianter.

Ett annat alternativ för Windows-användare är att installera det fria (och kostnadsfria) programmet PDFCreator. När det är installerat har du en ny skrivare att skriva ut till, och när du skriver ut till den så skapas ett PDF-dokument. Smidigt som tusan.

Några frågor? :)