Näytä kirjoitukset

Tässä osiossa voit tarkastella kaikkia tämän jäsenen viestejä. Huomaa, että näet viestit vain niiltä alueilta, joihin sinulla on pääsy.


Aiheet - AimoE

Sivuja: [1] 2 3 ... 16
1
Voin päivittää WSL:n oletusdistron PowerShell-komennoilla:

Koodia: [Valitse]
if ( (Get-Date).DayOfWeek -eq "Sunday" ) { wsl --update }
wsl -u root bash -c "apt update && apt full-upgrade"
if ( wsl test -f /var/run/reboot-required ) { wsl --terminate }
wsl -u root bash -c "apt autoremove --purge && apt autoclean"

(Scoop) bash:n xtrace:n avulla saan eri prosesseissa suoritettavat komennot erottumaan helposti:

Lainaus
#!/bin/bash

# distro name in arg $1 is optional
wsl="wsl ${1/#/-d }"
sudo='-u root bash -c'
setx="PS4='\n# ${1:-WSL default}> '; set -x"
PS4='\n: $(basename $0)> '

[ $(date +%u) -eq 7 ] && (set -x; $wsl --update) # sundays
$wsl $sudo "$setx; apt update && apt full-upgrade" || exit
$wsl test -f /var/run/reboot-required && (set -x; wsl --terminate $1)
$wsl $sudo "$setx; apt autoremove --purge && apt autoclean"

Onko olemassa joku PowerShell-jekku, jolla pääsisi vastaavaan selkeyteen? Set-PSDebug -trace:n tulostus on aika ärsyttävä. Mieluummin tulostan komennon itse ennen sen suoritusta, jos mikään muu ei auta.

Kysymys koskee siis vain komentoja "wsl --terminate" ja "wsl --update".

2
Kun asensin deja-dupin flatpak-paketin Ubuntu 24.04:ään, halusin verrata uudemman version asetuksia Ubuntun mukana tulleen version asetuksiin. Hankalaksi sen teki se, että dconf-komento ei ollut köytettävissä. Jouduin tekemään scriptin jolla haen asetukset gsettings-komennoilla.

Koodia: [Valitse]
#!/bin/bash

app=${1:-DejaDup}

for schema in $(gsettings list-schemas | grep $app)
do
    for key in $(gsettings list-keys $schema)
    do
printf "$schema $key = "
type="$(gsettings range $schema $key)"
case "$type" in
    'type b'|'type i'|'type s'|'type as')
echo "$(gsettings get $schema $key)"
;;
    *)
pretty=$(printf "$type" | tr "\n" " ")
echo "$(gsettings get $schema $key) ($pretty)"
;;
esac
    done
done

Case-lauseen viimeinen kohta luettelee enum-tyypin koko arvoalueen, mitä dconf dump ei tee.

Tällä hain kummankin deja-dup-version asetukset tiedostoon, jotta pääsin vertaamaan niitä. En enää muista tulosta tarkasti, mutta yllättävän vähän restic on vaatinut uusia asetuksia; monet lisäykset on tehty enum-tyypin arvolistaan.

3
LocalSendin ”edistyneissä” asetuksissa on laitetyyppi, jonka arvo esitetään kuvakkeilla. En löydä mistään lähdettä joka kertoisi mikä muuttuu jos arvon vaihtaa joksikin toiseksi? Pelkistä kuvakkeista on aika vaikea arvata.

4
Yleistä keskustelua / Digijäämistö
« : 27.04.26 - klo:14.32 »
Kysy kirjaston­hoitajalta -palvelusta sattui silmiin kysymys digi­testamentin mallista. Kirjaston vastauksessa viitataan ensin netti­sivuun, jonka ohje antaa ymmärtää, että testamenttiin kirjataan sala­sanat, ja sitten malli­asia­kirjaan, jonka ohjeissa päinvastoin painotetaan, että sala­sanoja ei pidä antaa kellekään. Digi­testamenttihan on enemmän valta­kirja kuin testamentti.

Minua jäi mieityttämään se, että kummassakaan lähteessä ei ole paneuduttu siihen, miten määritellään se joukko tilejä, joista täytyy erikseen ilmoittaa. Mallissa luetellaan mm. mobiili­varmennetta tarjoavat puhelin­operaattorit, jotka saavat tiedon kuolemasta ilman peri­kunnan apuakin. Oleellista olisikin tietää, onko asiakkuudessa kyse puhelin­liittymästä vai sellaisesta palvelusta, joka ei vaadi vahvaa tunnistusta – ja onko jälkimmäisellä mitään väliä.

Ellei kyse ole julkisesta some-profiilista (kuten FB- tai X- tai Instagram tai vaikkapa Ubuntu Suomi -foorumi), luulisi että käyttäjä­tunnuksena käytettävän sähkö­posti­osoitteen sulkeminen riittää. Jos verkko­kaupan tms. sivuston yllä­pito ei ikinä tarkista, onko asiakkaan tai jäsenen (tili edelleen käytössä ja) sp-osoite voimassa, se on kai heidän pään­särkynsä. Vai tarvitaanko siihen jotain sääntöjä?

Vinkki: jäämistöön oleellisesti kuuluvat tietueet voi KeePass-tietokannassa tägätä ja tägin avulla poimia tulostettavaksi ilman sala­sanoja.

5
Netistä löytyy osittaisia luetteloita ominaisuuksista, jotka ovat muuttuneet versiosta 2.12 versioon 2.14. Mistä löydän muutosluettelon kokonaisena jo ennen kuin lähden asentamaan resolutea? En keksi missä se on Grub-dokkarisaitilla tai muuallakaan.

6
Selaimessa tekoälyä voi vielä vältellä, mutta Windows-koneella olevan F-Securen tekoäly tuppaa tekemään elämän erittäin hankalaksi.

Olen kokenut WSL:n liian raskaaksi keinoksi siihen, että saan bash:n, core-utilsin ja muutamia muita perusjuttuja käyttööni myös Windows-koneella. Nyt kun F-Secure käyttää tekoälyä, joudun jatkuvasti tilanteisiin, joissa F-Secure ilmoittaa havainneensa ”epäilyttävää toimintaa”, ja kyse on joka kerran ollut siitä, että tein jonkun kirjoitusvirheen, jonka takia oma bash-scriptini kaatui. Ensin F-secure panee mintty.exe:n karanteeniin. Jos en heti tajua purkaa karateenia vaan erehdyn avaamaan mintty-ikkunan uudelleen, F-Secure estää sekä minttyn että bashin käytön ja vaatii heti buuttaamaan koneen, jotta se voi viimeistellä siivouksen.

Tilanteen purkaminen on työlästä. Jos olen asentanut ohjelmat Cygwin:llä, on helpointa asentaa koko Cygwin uudelleen. Scoopin avulla minttyn, bashin, core-utils:n yms. saa käyttöön asentamalla git:n. Siinä tapauksessa joudun buutin jälkeen poistamaan git-asennuksen ja asentamaan sen uudelleen. Sekä Cygwin- että Scoop-tapauksessa hässäkkä pidentää testaussyklejä huomattavasti.

Joidenkin lisäohjelmien kanssa uudelleen asentaminenkaan ei auta, vaan joudun odottamaan muutaman viikon kunnes F-Securen ihmistyöläiset ovat tunnistaneet väärän luokituksen ja pääsen taas käyttämään ohjelmaa. Esimerkiksi yq:n kanssa tämä on tapahtunut useamman kerran. Resticin tukifoorumilla varoitetaan, että WSL:n kautta se on liian raskas, ja Scoop-asennuksena se on jo kerran joutunut karanteeniin. En uskalla ottaa restic:ä käyttöön Windowsilla tämän takia.

7
Minulla on Chrome asennettuna vain Windowsilla, mutta tämä asia ei koske Windowsia, joten postaan yleiseen keskusteluun.

Olen ihmetellyt miksi Google Chrome kertoo, että "Organisaatiosi ylläpitää selainta". Netistä löytyviä neuvoja seuraamalla päättelen, että selitys on policy-asetus PopupsAllowedForUrls, jonka arvo on ["https://[*.]ehoito.fi:443"]. Mitään muita policy-setuksia nimittäin ole tehty.

Arvon perusteella näyttää siltä, että tämän policyn on asettanut Atostek ID. Kansalaisen kannalta tuntuu aika rajulta että Atostek ID onnistuu kaappaamaan Chrome-asetukset tällä tavalla, kun asetusta kuitenkin tarvitaan vain reseptien kirjoittamiseen. Virkakäytössä selain varmaan on muutenkin organisaation hallinnassa, mutta selvästikään Atostek ID ei ole tarkoitettu kansalaisten käyttöön ainakaan laajamittaisesti.

En ole vielä keksinyt miten kaappaan selaimen hallinnan takaisin itselleni.

8
Olen viimeksi tänään aamulla kopioinut puhelimestani tiedostoja USB-kaapelilla. Nyt en saa MTP-yhteyttä syntymään Ubuntu-koneella. Windows-koneella se toimii, joten kaapelissa vika ei ole. Puhelimeen ei ole päivitetty tai asennettu tänään mitään, eikä dpkg:n mukaan myöskään Ubuntu-koneelle.

Mikä kumma nyt yhtäkkiä voi blokata MTP-yhteyden? Kun avaan usb-asetukset, valinta "Siirretään tiedostoja / Android Auto" on harmaana, samoin muut "USB:n käyttötarkoitus" -valinnat.

9
Yleistä keskustelua / Tekoäly ja ammatit
« : 23.03.26 - klo:07.34 »
Kun media arvailee tekoälyn vaikutusta, ammatit valitaan sen perusteella, paljonko niissä on ihmisiä, mutta pienelläkin ammattilaisjoukolla voi olla iso vaikutus. Esimerkiksi jos puhelinten tehtailussa tarvitaan softan suunnitteluun tuhansia ihmisiä, niin mekaniikkaan tarvitaan satoja ja hardikseen kymmeniä suunnittelijoita.

Minulla on sellainen mielikuva, että fyysisten piirilevyjen leiskoja on vasta tällä vuosituhannella alettu tekemään pääosin tietokoneohjelmien avulla. Onko kellään realistista käsitystä siitä, missä mitassa a) kytkentäkaavion, b) leiskan tekoa voidaan tehostaa tekoälyn avulla? Juu, tiedän että leiskan tekoonkin tarjotaan jo tekoälyä. En ole kysymässä esimerkkejä siitä, vaan minua kiinnostaa mikä on oikeasti realistista.

PS.
Pitäsikö tänne perustaa oma osio tekoälykeskusteluille?

11
Ubuntu tietokoneissa / Inkscape: värin asetus kuviolle
« : 06.03.26 - klo:07.06 »
Yritän pitkästä aikaa piirtää kuvaa Inkscapella.

Piirrän kuviota, jolle en halua täyttöä ollenkaan, haluan vain reunaviivan värin. Siispä valitsen "Ei maalia", ja siirryn viivan väirykseen. Valitsen värin ja Inkscape tekee siitä täyttövärin; reunaviiva jää mustaksi. En ymmärrä miten se voi mennä näin, kun olen ihan selvästi valitsemassa viivalle väriä. Mikä logiikka tässä on?

Ubuntu Noble, Inkscape 1.2

12
Ubuntu tietokoneissa / rootin teema [Ratkaistu]
« : 27.02.26 - klo:20.52 »
Kun suoritan sudolla jotain, joka avaa uuden ikkunan, niin siinä on vaalea teema. Esimerkiksi komento "baobab" avaa oman teemani mukaan tumman ikkunan, mutta "subo -ib baobab" avaa vaalean ikkunan.

Mitä pitää tehdä että rootin teeman voi asettaa mieleisekseen?

13
Yleensä kun joudun kommentoimaan osan bash-scriptistä, teen sen tyyliin

Koodia: [Valitse]
: ’
ohitettavat
komennot

Toinen suositeltu tyyli on
Koodia: [Valitse]
<<SELITE
ohitettavat
komennot
SELITE

Tänään tuli kiire tehdä väliaikainen korjaus scriptiin, jossa eräs apukomento ei viime päivityksen jäljeltä toiminutkaan. Halusin tehdä pikapaikkauksen niin, että korvattavan kohdan lisäksi myös korvaava koodi pomppaa silmille, ja koin että tavalliset kommentointitavat eivät ole tarpeeksi selkeitä. Päädyin tekemään paikkauksen tähän tyyliin:

Koodia: [Valitse]
KORJAA_PIAN(){
ohitettavat
komennot
}
POISTA_PIAN(){
väliaikaiset
komennot
}
POISTA_PIAN

Bash nimittäin ei välitä siitä, missä kohdassa funktiot määritellään, joten tämän voi sijoittaa vaikka  loopin sisään tai funktion koodiin tai mihin vaan.

Tämä sopii vain lyhytaikaiseen paikkaukseen. Pysyvämpään poiskommentointiin :’’ on parempi.

14
Alkoi ärsyttää se, että hiiri herättää koneen valmiustilasta. Netistä löytyy paljon ohjeita, joissa herätys estetään tyyliin

Koodia: [Valitse]
echo disable | sudo tee /sys/bus/usb/devices/*/power/wakeup
Yritin noudattaa tätä neuvoa, mutta sain Invalid argument -virheilmoituksia. Päättelin, että kernel varmaankin suojaa sisuksiaan nykyään paremmin. Oli jo aikakin.


Päädyin tähän ratkaisuun:

Koodia: [Valitse]
#!/bin/bash

rules=/etc/udev/rules.d/90-usb-wakeup.rules
format=(
    'ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb",'
    'ATTRS{idVendor}=="%s", ATTRS{idProduct}=="%s",'
    'ATTRS{power/wakeup}="disabled"'
)
format=${format[@]}

for file in /sys/bus/usb/devices/*/power/wakeup
do
    [[ $(cat $file) == enabled ]] || continue

    d=${file%/power/wakeup}
    printf "$format\n" $(cat $d/idVendor) $(cat $d/idProduct)

done | sudo tee -a $rules

Aiempaan verrattuna tässä on se hyvä puoli, että estosta jää jälki, jonka avulla eston voi perua; sääntötiedoston voi poistaa helposti. Sekin on hyvä puoli, että näin lyhyt koodinpätkä on helppo lukea.

Mutta tämä komentotiedosto täytyy suorittaa sokkona. Teki mieli kirjoittaa viimeinen rivi muotoon

Koodia: [Valitse]
done # | sudo tee -a $rules # uncomment for immediate effect

Tein siitä sitten interaktiivisemman version:

Koodia: [Valitse]
#!/bin/bash

rules=/etc/udev/rules.d/90-usb-wakeup.rules
format=(
    'ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb",'
    'ATTRS{idVendor}=="%s", ATTRS{idProduct}=="%s",'
    'ATTRS{power/wakeup}="disabled"'
)
format=${format[@]}

comment(){
    for f in iManufacturer iProduct manufacturer product
    do
[[ -f $1//$f ]] && printf " $(cat $1/$f)"
    done
}
pick(){
    zenity --list --checklist \
   --title 'Estä herätys valmiustilasta' \
   --text 'Herätys on sallittu näille:' \
   --ok-label 'Jatka' --cancel-label 'Peru' \
   --column '' --column '' --column 'USB-laite' \
   --hide-column 2 --print-column 2 --separator ' ' \
   "$@" || exit # cancel button
}
advice(){
    echo "
Esto tulee voimaan kun USB-laite kytketään uudelleen.

Voit palauttaa herätyksen poistamalla estosäännöt:
    sudo rm $rules
"
}
menu=()
for file in /sys/bus/usb/devices/*/power/wakeup
do
    [[ $(cat $file) == enabled ]] || continue

    d=${file%/power/wakeup}
    menu+=( true $d "$(comment $d)" )
done
for d in $(pick ${menu[@]})
do
    echo "#$(comment $d)"
    printf "$format\n" $(cat $d/idVendor) $(cat $d/idProduct)

done | sudo tee -a $rules && advice

... ja työn touhussa totesin, että ainoa USB-laite, joka herättää koneen, on Logitech Universal Receiver, eikä siihen paritettuja laitteita voi estää yksitellen. Plääh.

15
Yleensä tietokoneeseen on kytkettynä vain yksi puhelin, mutta joskus on tarve kopioida samalla komentotiedostolla tiedostoja eri kahdesta puhelimesta, joiden hakemistorakenteissa on jokin oleellinen ero. Tätä varten komentotiedossani on funktio, jonka avulla voin poimia juuri oikean puhelimen GVFS/MTP-liitospisteen ja sen perusteella päätellä minkä hakemistorakenteen mukaan toimitaan.

Funktio on ollut minulla jo pitkään käytössä, mutta olen nyt siistinyt sen koodia sen verran, että sen voisi esitellä muillekin.

Jos haluat kirjoittaa funktion omaan tiedostoonsa testaamista varten, tiedoston alkuun kannattaa lisätä:

Koodia: [Valitse]
#!/bin/bash
if [[ "${BASH_SOURCE[0]}" == "$0" ]]; then printf '# Käyttö:
source '$(printf '%q\n' $0)'
puhjuuri=$(poimi_mtp_juuri) && cd $puhjuuri && pwd
'; exit 1; fi


Varsinainen funktio:

Koodia: [Valitse]
poimi_mtp_juuri(){
    local gvfspolku="/run/user/$(id -u)/gvfs"
    while :
    do
local liitetty=( $(ls -1 $gvfspolku/ | grep ^mtp) )
case ${#liitetty[@]} in
    1) break ;;
    0)
zenity --question --title 'Puhelin ei ole liitetty' \
       --text 'Kytke puhelin USB-kaapelilla ensin' \
       --ok-label 'Yritä uudestaan' --cancel-label 'Keskeytä' ||
    return
;;
    *)
liitetty=$(
    zenity --list --radiolist --title 'Valitse puhelin' \
   --text 'Tarkista sarjanumero' \
   --ok-label 'Jatka' --cancel-label 'Keskeytä' \
   --column '' --column 'Laite' --print-column 2 \
   ${liitetty[@]/#/false }
) || return
break
;;
esac
    done
    echo "$gvfspolku/$liitetty"
}


Rivin ”1)   break ;;” voi kommentoida pois, jotta näkee valikon vaikka käsillä olisi vain yksi puhelin.

16
Olin testaamassa Bash.scriptiä, jossa oli väliaikaista logiikkkaa. Ensin se kysyy käyttäjältä valintoja "zenity --list --check-list" -komennolla, ja sitten on tarkentava yes/no -kyssäri, jonka olen tehnyt tyyliin
Koodia: [Valitse]
printf "kyssäri"; read yn Yllättäen muuttuja "yn" oli tyhjä read-komennon jälkeen. Kun aikani olin lyönyt päätä ruutuun, kokeilin auttaisiko jos suorittaa zenity-komennon aliprosessissa, eli käärittynä ()-sulkeisiin. Se ratkaisi ongelman täysin. Tämän jälkeen nimesin muuttujan toiseksi, ja sekin auttoi.

Onkohan tämä fiitseri vai bugi?

17
Olen joskus ennenkin kommentoinut sitä, miten kehnosti Microsoft valvoo automaattikäännösten laatua, mutta edelleen se jaksaa yllättää.

Yritin etsiä netistä passkey-termin erilaisia suomennoksia. Haku ”Mcrosoft passkey” löysi muutamia www.microsoft.com/security-artikkeleita, joiden teksti ei hirveästi auta ymmärtämään asiaa, mutta ainakin kieli on tarkempaa kuin upport.microsoft.com -artikkeleissa, joita löytyi paljon enemmän. Kaivoin suomennokset esiin vaihtamalla url-rivillä ”en-us”-kohdan muotoon ”fi-fi”, jos se ei tullut halla suoraan. Tuen artikkeleissa on kaikissa automaattikäännetty sisältö, joka menee niin paljon pieleen että on taas pakko nostaa niitä esiin.

Kaikken pahin joka silmiin sattui oli tämä:

https://support.microsoft.com/en-us/account-billing/signing-in-with-a-passkey-09a49a86-ca47-406c-8acc-ed0e3c852c6d

Lainaus
Signing in with a passkey

What are passkeys?

Passkeys are a replacement for your password. With passkeys, you can sign into your Microsoft personal account or your work/school account using your face, fingerprint, or PIN. Signing in with a passkey is simple and fast and helps protect you against phishing attacks.
...

https://support.microsoft.com/fi-fi/account-billing/sis%C3%A4%C3%A4nkirjautuminen-tunnuskoodilla-09a49a86-ca47-406c-8acc-ed0e3c852c6d

Lainaus
Sisäänkirjautuminen tunnuskoodilla

Mitä ovat todentamisnäppäimet?

Salasanasi korvaa todentamisavaimen. Salasanalla voit kirjautua henkilökohtaiselle Microsoft-tilillesi tai työpaikan tai oppilaitoksen tilille kasvojen, sormenjäljen tai PIN-koodin avulla. Sisäänkirjautuminen todentamisavaimen avulla on helppoa ja nopeaa, ja se suojaa sinua tietojenkalasteluhyökkäyksiltä.
...

Ensin puhutaan näppäimistä, sitten leipätekstissä subjekti ja objekti vaihtavat paikkaa. Olen jo Google-kääntäjän kanssa huomannut, että käännöksissä suomesta englantiin arviolta ehkä 20% objektin sisältävistä lauseista kääntyy niin, että subjekti ja objekti vaihtavat paikkaa. Tässä on käännetty englannista suomeen ja silti saatu ne vaihtumaan. Koko sivulta on vaikea löytää virkettä, joka olisi edes vahingossa käännetty oikein.

Tietoturva on niin tärkeä asia, että sen kanssa ei kannattaisi leikkiä. Miten Microsoftilla on varaa tällaiseen?

18
Yleistä keskustelua / Änestäminen mobiiliverkossa
« : 05.02.26 - klo:18.41 »
Tämä poiminta on tehty hieman samassa hengessä kuin Efraiminpojan Mikä on totuus AI:n takana....

Sattui kohdalle podcast, jossa keskustellaan kaiken muun naureskelun seassa siitä, miksi äänestyksen toteutus mobiiliverkossa on tietoturvan kannalta ihan liian haastavaa.

Äänestyskeskustelu on näissä pätkissä (mutta suosittelen kuuntelemaan edeltävää keskustelua hyvän matkaa ensin, että pääsee puherytmiin mukaan):

Koodia: [Valitse]
0:34:00 - Why You Can't Just Vote on Your Phone (It's Worse Than You Think)
0:40:00 - Digital Rain and Other Ways Foreign Powers Could Hack Elections


Lyhyesti: Äänestykseen voidaan puuttua monella muullakin tavalla kuin murtautumalla. Esimerkiksi jos vaalipiirit ovat pieniä, vaalihäirintää voidaan mobiiliverkossa hienosäätää tarkasti; voidaan vaikkapa aiheuttaa pientä paikallista verkkohäikkää, jolloin tiettyjen vaalipiirien vanhempi polvi lannistuu eikä onnistu äänestämään -- eikä vaalien järjestäjä edes huomaa että vaalia häirittiin.

Podcastin ulkopuolelta: Kaksipuoluejärjestelmä löytyy niistä maista, joissa vaalipiirit on laadittu niin pieniksi, että kustakin piiristä valitaan vain yksi edustaja. Tunnetuimmat ovat US ja UK.

19
Onpa harvinaisen huonosti muotoiltu: Jussi Erosen kolumni: ”Homeinen” koodi ei haise nenään, mutta se mädättää ohjelmistot

On aika mahdotonta välttyä saamasta sitä käsitystä, että home tulee koodiin nimenomaan avoimen koodin käytön takia. Tarkoittaako Eronen todellakin juuuri sitä?

20
Miten muodostetaan secret-tool komento kun tarvitaan salasana avainrenkaasta?

Liitteen kuvassa on avattuna Seahorse ja sieltä yksi kohde malliksi. En keksi millä tavalla viittaus muodostetaan secret-toolin ymmärtämään muotoon.

Sivuja: [1] 2 3 ... 16