Fedora」タグアーカイブ

Gedit to Kate

以前書いたように Gedit が 2024 年以降もう期待できない。
ただでさえ GTK3 のままなのに、多分また開発者がいないのだろう。
言語の新しいキーワードに対応できないし追加機能もない。

他への乗り換えをしようと色々試してはいるんですが。
Sublime Text や Pulsar は日本語が入力できない。
GTK3 製やイライラする vscode は論外だし他は機能がチト。
Qt があまり好みではないけど無難な Kate にしようかと。

kate

Kate ってメニューバーを消すと自動でハンバーガーメニューになるんだ。
これなら GNOME で使っても見た目の違和感が少ないかもね。
PHP8 のヒアドキュメントインデントにもしっかり対応しているし。
ツールバーの「開く」を「Open」に書き換えできるのは笑った。

kate

拡張子が無いファイルも見分けしてくれた。
vi や Eaacs のモードラインは認識しないけどシバンを読んでいるようだ。
Kate 独自のモードラインには色分けつきでデフォルト対応。

Kate Modelines – Kate

ツールメニューに「Run Current Document」なんてのがある。
F4 で内蔵ターミナルを出した状態で実行するとシバンでスクリプトを実行する。
残念ながら F5 に指定できないみたいなので Ctrl+F5 に割付してみた。
フォーカスはエディタ側にある状態で実行してくださいね。

kate

Ctrl+Shift+Up(Down) で行の入れ替えも普通にできる。
アクティブなタブ以外を全部閉じる機能も最初からある。
Gedit では自分でプラグインを作ったのに、いや今は珍しくもない機能だが。
後は html エンティティー変換さえあれば自作 Gedit プラグインは再現できる。
スニペットから JavaScript を使えばあっさり作れそうだけど。

Kate Snippets

そのスニペットなんだけど、 Gedit 同様に選択文字列取得もできるけど。
Ctrl+Space から選択するしか流し込みする手段が無いんかいなぁ。
Gedit みたくキーワードから Tab キーの一発で流し込みをしたいんだが。
模索しているけど今のところネックはこれだけ。

てか Kate ってドエリャア多機能だ、知らなかったよ。
何故人気がイマイチなのか、まあ KDE の人気がね。

Fedora 40 インストール

世間は三連休です、筆者は今日だけですけど。
ちなみに小牧山ではキビタキが囀っていたよ、えぇ声は聞こえました。
ということで送ればせながら Fedora 40 へアップグレードです。

今回はクリーンインストールしたいので休日まで遅らせました。
インストール方法はいつもどおりなので省略。

Fedora Elecom | Paepoi Blog

上記で買った無線 LAN は調子が悪くて有線に戻しています。
ルーターの再起動しまくり現象は止まったし、基地局側が理由だったみたい。
40 に最初からファームがあったら又使おうかと考えたけど未対応のままだった。

ps1

端末は gnome-terminal のままじゃん、プロンプトに色が付いているけど。
PS1 変数がなんじゃこりゃになっているけどまあこのままでいいや。
あ、hostnamectl にて既にホスト名を変更した後です。

画像ビューアは本当に Loupe に変わっているのね。
今気がついたけど矢印キーでの画像切り替えは Nautilus と順番が違うヤン。
拡大でやはりアンチエイリアスが掛からないし、ダメだ EoG を入れよう。

chrome

google-chrome のインストールが失敗するんですけど。
Flathub 版ならイケたのでこっちをしばらく使う。
ログインすれば元通りなのは普通インストールと同じだった。

Fedora Tips | MPV をスクリプトで拡張 – Paepoi

MPV は Skylake 時代な内容が古いままだったので書き換え。
Fedora 38 から ffmpeg が面倒なことになっているんだよな。
他の Tips は全部以前のままだった、書き足すことがないのも寂しい。

gnome-text-editor がちっとも進化しないので Gedit を。
なんだけど色分けは普通に進化しているのね。

gedit

GtkSouceView 4 の開発が止まったからしかたがないんだけど。
PHP8 のヒアドキュメントインデントにも Gedit は未対応なのか。

Gedit: fstring Highlighting | Paepoi Blog

PHP もコレをやればいいと思ったんだけーがさぁ。
Python3 のやつも摘要されなくなっているんですが。
なんですか、Gedit はもう使うなってことですか?

最後の手段である Sublime Text をとうとう導入か。
って Linux 版って日本語入力ができないんですね。
手段はあるけど通常のインプットメソッド切り替えじゃないのね。
メニューバーや古い UI も気になるし、macOS 版を知っているととくに。
今回は見送って Gedit を騙し騙し使うことに。

ということで。
39 の時とほとんど変わらない Fedora 40 になりました。
そんなことより今日はキビタキが撮りたかった。

Linux LAW File

昨日はインフルに感染して一日中死んでいました。
広めちゃいけないので本日は有給休暇、体はダルいけど頭は超ヒマだ。
そんなこんなで昨日やろうと思っていた Linux ネタ。

orf

Fedora 39 にして四ヶ月、何を今頃気がついたけれど。
Nautilus 45 は OLYMPUS LAW である ORF を認識しているじゃん。

OM SYSTEM となっていないのはまあ時間が解決するだろう。
NIKON の NEF は以前からあったけど LUMIX の RW2 も対応していた。
いやぁ写真趣味を初めて良かった、こんな検証ネタが見つかるとは。

もちろんサムネイル表示することも画像を表示することも何もできない。
macOS の uti と違って意味が無いような気がしなくもない。
いや macOS はリソースフォーク時代と拡張子との整合性とかあったからだけど。
そもそも UTI は開発者側以外は気にしなくていいことは置いておいて。
ちなみに Nautilus は拡張子より前に以下を検索します。

/usr/share/mime/magic

とりあえず開いて olympus で検索、ちなみに文字列ではない定義もある。
当然 Gedit ではエラーが出るけど強制的に開くことは可能。

orf

なんだ普通に定義されていた。
IIRO(0x08)(0x00)(0x00)(0x00)
がファイルの先頭に付いていたら ORF ということです。

つまり macOS の UTI が現在は拡張子依存なのと違い拡張子は関係ない。
拡張子だけで全てが決まるポンコツ OS は置いておいて。

#!/usr/bin/env python3

import sys, textwrap
from gi.repository import Gio

attr = ','.join([
    Gio.FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME,
    Gio.FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE ])

for filename in sys.argv[1:]:
    f = Gio.file_new_for_path(filename)
    info = f.query_info(attr, Gio.FileQueryInfoFlags.NONE)
    _name = info.get_display_name()
    _type = info.get_content_type()
    _desc = Gio.content_type_get_description(_type)
    print(textwrap.dedent(f'''
        ----------
        Name        : {_name}
        Content Type: {_type}
        Description : {_desc}
        ----------'''))

get_ctype.py

を使って拡張子不要と表示の確認。

orf

なるほど、Description がプロパティに表示されているようで。
しかし LAW の Content-Type に対応とは、将来的に表示対応するのだろうか?
macOS でないとまともな現像アプリが無いから正直いらないけど。
フリーの GUI アプリって今現在は消費者(エンドユーザー)用途でしかないよね。
関係ないけど GNOME 45 って avif に対応していたのね、知らなかった。
最後に。

[Python]ヒアドキュメントでもインデントを崩さずに書かなきゃダメだよ | DevelopersIO

textwrap.dedent だと簡潔かつ読みやすいコードになりますね。
fstring でなく以前の formar({0}) なら先頭に定義という技があったけど。
それを fstring でやると未定義扱いになり困っていたので嬉しい発見でした。

Fedora Elecom

筆者は現在某社の 5G ルーターでネット接続なんですが。
一週間前から調子が悪い、数分間隔くらいで突然再起動してしまう。
先週まで普通に使えていたし設定変更とか何もしていないのに。
ルーターの設定を弄くったり初期化したりしても変化無し。

ネットで探すと有線接続は良くないと沢山見つかる。
ずっと有線で問題無かったけど、いや Makbook のほうは当然無線です。
Fedora のアップグレードもだいぶ前なので全然関係ないような。

いや不安要素は取り除こう、余っている WiFi の USB 子機もあるし変更。
十年くらい前に買ったものだけど USB に差し込んだらそのまま普通に使えた。
まだたまに突然再起動をするけど頻度は激減、これで様子見かな。
そういえば外した LAN ケーブル、ISDN 時代から使っていた奴かも。

って、今度は USB 子機が調子悪い、Fedora が突然子機を認識しなくなる。
USB を差し直すとまた認識するんだけど数分するとまた認識が切れる。
「インターネットに接続していません」を何度も見るはめに。
古い世代の子機だし相性かな、新品の子機でも買ってくるか。

ELECOM の WDC-433DU2H2-B というのを適当に選んだ。
できればデスクトップの後ろに差したいのでアンテナ付きがいいよなって。
さてこいつと古い USB 子機を差し替えて。
って Fedora が子機をまったく認識しねぇ!

lsusb コマンドで Elecom とは出るけど OS は名前以外は何も解らない。
つまりファームウエア(ドライバ)が無いよってことですね。

ドライバ CD は付属しているが Linux 用なんてあるはずない。
Linux は周辺機器でこういうことが多々あるのを忘れていたぜ。
絶不調の古い子機を差して検索。

Linuxで無線LAN子機WDC-433DU2H2-Bを使う #Linux – Qiita

おぉ同じ子機を買った人が、lsusb の結果も当然同じ。
リンク先は Ubuntu だけど Fedora でもそのまんまやればいいはず。
試す前に Fedora 39 で現在の Realtek ファームウエアの確認。

rpm -ql realtek-firmware

realtek

rtl8812au は無いですね、そりゃ認識しないや。
将来的には追加されるだろうけど今は自力で make するしかない。

elecom

ただひとつ、今は ELECOM 用の定義は最初から記述されていた。
make して再起動で普通に認識、パスワードは機器毎に指定で完了。

dkms

/var/lib/dkms 以下に生成されたけどコレでも動くんですね。
とりあえず無駄な買い物にならなくて良かった。
ただ、たまにルーターが突然再起動する症状は変わらなかった。

Gjs setInterval

先日 Gjs で TextDecoder が使えると書きましたが。

for (let s in this) print(s);

this

グローバル関数だったんですね、無理やりな実装だなって。
てか setTimeout や setInterval も追加されているじゃないの。
console.log も使えるようになったし、Web に合わせてきたのね。
Web や Node.js と同じなのかな、チト試してみよう。

#!/usr/bin/gjs -m

import GLib from 'gi://GLib';

const mainloop = new GLib.MainLoop(null, false);

let count = 1;
let id = setInterval(()=> {
    if (count == 5) {
        clearInterval(id);
        mainloop.quit();
    }
    console.log(count);
    count++;
}, 1000);

print('__do__');

mainloop.run();

print('__done__');

log

基本 Web と同じですけど、やっぱりメインループが必要ですね。
Web の場合はブラウザがメインループを回しているから不要なだけで。
Node.js が不要だからややこしい、繰り返し処理にはループが必要。
GtkApplication から使う等の場合は当然別途のループはいりません。

console.log は print と同じでいいのに、スタンドアロンでこの表示いる?
とにかく Web 標準と同様に使えます、ということで。

というか、Gjs って三年前とは全然変わってしまったなと。
tips ページはそろそろ丸ごと書き換えしなきゃ、面倒くさいなぁ。。。。。