journalctl -u micro – Telegram
journalctl -u micro
93 subscribers
2.17K photos
210 videos
287 files
1.44K links
Esperienze e consigli di uno sviluppatore tech−unenthusiast

creation — 2021-04-29
owner — @Microeinstein

networks
@sigma_hub Σ
@ageiroumena
Download Telegram
journalctl -u micro
Da qualche mese ormai, ho notato che tutto a un tratto i file HTML sono associati ad un MIME type diverso: prima era text/html, ora è application/x-extension-html. Il problema di ciò è che tutti i software hanno un'associazione default a text/.. e non ad…
Ho un punto di partenza

> esiste un tool cli (xdg-mime) che permette di controllare quale mimetype è associato ad un dato file
$ xdg-mime query filetype dummy.html
application/x-extension-html

> controllo il tipo di file del tool
$ file "$(which xdg-mime)"
/usr/bin/xdg-mime: POSIX shell noscript, ASCII text executable
> oh no è uno noscript gigante

> apro con KWrite
> faccio folding automatico di tutte le funzioni
> ok a quanto pare questo noscript non è altro che un wrapper gigante per ogni DE
> XDG_UTILS_DEBUG_LEVEL hmm
$ export XDG_UTILS_DEBUG_LEVEL=10
$ xdg-mime query filetype dummy.html
Running kmimetypefinder5 "/.../dummy.html"
application/x-extension-html

> kmimetypefinder5 hmm
$ kmimetypefinder5 dummy.html
application/x-extension-html
$ kmimetypefinder5 -c dummy.html
text/html
> interessante, solo leggendone il contenuto restituisce il mimetype corretto

> controllo il tipo di file di quest'altro tool
$ file "$(which kmimetypefinder5)"
/usr/bin/kmimetypefinder5: ELF 64-bit LSB pie executable
[...]
> chissà quali files leggerà
> magari i percorsi sono hard-coded?
$ strings "$(which kmimetypefinder5)" | less
> no
> tracciamo i files aperti a runtime
$ strace -f -t -e trace=file kmimetypefinder5 dummy.html
[...]
00:33:17 statx(AT_FDCWD, "/home/micro/.local/share/mime", AT_STATX_SYNC_AS_STAT, STATX_ALL, {stx_mask=STATX_ALL|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFDIR|0755, stx_size=330, ...}) = 0
[...]

> come? esiste una cartella mime anche per l'utente? tra tutte le ricerche che ho fatto non ne ho mai sentito parlare
$ grep -ri 'x-extension-html' .local/share/mime
.local/share/mime/packages/user-extension-html.xml:
<mime-type type="application/x-extension-html">

.local/share/mime/application/x-extension-html.xml:
<mime-type xmlns="http://www.freedesktop.org/standards/shared-mime-info" type="application/x-extension-html">

.local/share/mime/globs:
application/x-extension-html:*.html

.local/share/mime/globs2:
50:application/x-extension-html:*.html

.local/share/mime/types:
application/x-extension-html

grep: .local/share/mime/mime.cache: il file binario corrisponde
> beccati?

$ xdg-mime uninstall --mode user .local/share/mime/packages/user-extension-html.xml
$ grep -ri 'x-extension-html' .local/share/mime
> Ø

I FUCKING DID IT
journalctl -u micro
Ho un punto di partenza > esiste un tool cli (xdg-mime) che permette di controllare quale mimetype è associato ad un dato file $ xdg-mime query filetype dummy.html application/x-extension-html > controllo il tipo di file del tool $ file "$(which xdg-mime)"…
Conclusione: wtf

> Anche altre persone hanno avuto problemi correlati esattamente qualche mese fa, e la soluzione è stata la stessa: rimuovere quei file
https://bbs.archlinux.org/viewtopic.php?pid=1985776#p1985776

> Guardando la data di modifica, risultano esistere almeno da dicembre 2019 (???)
Per chi volesse usare MPV con la fork Youtube-DLP, in teoria basta aggiungere ad mpv.conf la seguente opzione di noscript:

noscript-opts=ytdl_hook-ytdl_path=/usr/bin/yt-dlp,...

https://github.com/yt-dlp/yt-dlp
Forwarded from Hacker News
New NTFS Read-Write Driver from Paragon Merged to Linux Kernel (Score: 150+ in 9 hours)

Link: https://readhacker.news/s/4TQ6k
Comments: https://readhacker.news/c/4TQ6k
Raga non usate ntfs3 (o meglio ancora il filesystem NTFS)

Ho sospettato la corruzione quando ho scaricato un file con wget e, nonostante non fosse nascosto, era invisibile a ls -al
...ma allo stesso tempo se ne si conosceva il nome veniva visto (file x.zip)
Thinking about NTFS,
avevo in mente di aggiungere sull'SSD un'installazione minimale di una qualche edizione di Windows, solo per avere strumenti di ripristino quali chkdsk funzionante (e più moderno possibile), e magari anche BootICE idk.

Note:
- ntfsfix non fa un cazzo
- chkdsk non può essere eseguito da wine
Scoperto nuovo comando findmnt in util-linux, molto più figo di fare mount | column -t
Ho trovato un modo figo per gestire e analizzare immagini di macchine virtuali .qcow2:

> caricare driver nbd
# modprobe nbd max_part=8

> collegare l'immagine (± come si farebbe con losetup)
# qemu-nbd --connect=/dev/nbdX img.qcow2

> gestire le partizioni (bisogna specificare a mano il device)
# gparted /dev/nbdX

> montare una partizione
$ udisksctl mount -b /dev/nbdXpY

Una volta montata una partizione è possibile fare ciò che si vuole, incluso vedere lo spazio occupato dai files con FileLight

> smontare partizione
$ udisksctl unmount -b /dev/nbdXpY

> scollegare immagine
# qemu-nbd --disconnect /dev/nbdX
Momento funny:
aur/zoom 5.7.6a-1 (più aggiornato)
chaotic-aur/zoom  5.7.6-1

Indovinate quale pacchetto pacman calcola sia il più recente - per poi installarlo?
journalctl -u micro
Update: alla fine il pacchetto dunst l'avevo installato io a mano mesi fa per utilizzare il comando dunstify, che permette di inviare notifiche desktop interattive da terminale (necessario per un mio progetto chiamato HTTP Hook). Il dubbio che rimane è come…
Che fastidio, ieri ho aggiornato e il servizio di dunst si abilita da solo ogni volta che deve apparire una notifica wtf

Fixed
systemctl --user daemon-reload
systemctl --user mask --now dunst
(login - logout)