Fedora 29 OpenJDK

Fedora 29 では OpenJDK が 1.8 から 11 になった。
いきなり凄いバージョンアップだよなぁ、って違う!
IcedTea ベースの今までと違い Oracle のソースになったみたい。

Java 11正式版がリリース、本バージョンからOracle JDKのサポートは有償に。OpenJDKで無償の長期サポート提供は現時点で期待薄 ? Publickey

なんか色々あるようだけど。
RHEL の先行開発版である Fedora には RHEL 用のそのままが使われると思う。
サポート切れや脆弱性については後ろに RedHat がいるので何も問題ない。

それはいいとして。
jjs は 29 でも実行できるけどアップグレードされていないので es6 は使えない。
GraalVM は dnf list でも出てこない、うーん。

とりあえず Java 11 はコンパイルなしで実行できるらしいので試してみよう。

JEP 330: Launch Single-File Source-Code Programs

なんとシバンが使えるようだ。
つまり Java 言語のまま普通のスクリプトとして使える、よし早速。

#!/usr/bin/java --source 11
// -*- Mode: Java -*-

public class Hoge {
    public static void main(String[] args) {
        System.out.printf("%s\n", "ほげ");
    }
}

動いたけど…

結論、インタプリタ実行しているのではない。
メモリ上にコンパイルしてソレを実行しているだけのようだ。
つまり javac が必要、Fedora デフォルトには入っていない。

sudo dnf install java-11-openjdk-devel

それと、シバンを使う時は拡張子を取っ払う必要がある。
Gedit で色分けできないのでモードラインを使いましょう。

*.java 拡張子をつけたまま usr/bin/java に渡すこともできる。
この時はシバンがあるとエラーになる、なんかもどかしい。

ようするに拡張子が無い場合は一行目を無視する、って感じの単純な実装みたい。
macOS ならそれでいいんだけどね。

enable_emoji_completion

Fedora 29 の GTK+ は 3.24 のままだ。
開発者、システム管理者向けの新規事項

だけど上記に書いてある(英語)とおりチョッピリ追加機能がある。
GtkEntry に enable-emoji-completion property が追加されたようだ。
早速試してみよう。

#!/usr/bin/gjs

imports.gi.versions.Gtk = "3.0";
const Gtk = imports.gi.Gtk;
Gtk.init(null);

let w = new Gtk.Window();
w.connect("delete-event", ()=>Gtk.main_quit());
let e = new Gtk.Entry();
e.enable_emoji_completion = true;
w.add(e);
w.show_all();
Gtk.main()

たとえば sushi の絵文字が使いたいな、ってなった時。
コロンの後に打ち込んでいくと

と出て来るので上下矢印キーかマウスで選択して流し込む。
最後まで打ち込んでコロンを打つでは無視されてしまうので注意。

ぶっちゃけコレ GtkTextView でもできないと意味がないような。。。。。
Gtk4 ではどうなるのかな。

ところで今回からこの手の投稿は GTK+ 等のライブラリ名タグに変更します。
gir はどんな言語でも同じだものね。
今迄 Python とか言語名で作ったページの変更をするかどうかは未定。

Gedit 3.30 Auto Scroll is Bad!

Gedit 3.30 の仕様変更にまいった。

とりあえずカーソル位置からスクロールしてタブを切り換える。
そのタブをアクティブにするとカーソル位置まで勝手にスクロールしてしまう。
他のソースを参考にしながらコードを書いている時に超イライラする。

同じく Ctrl+Z で Undo するとその前の編集箇所に勝手にカーソル移動とスクロール。
これはありがたく思えるけど実際に使うと超迷惑。

それでいて gsettings のどこにも無効にする設定が見つからない。
ソースの参考は別ウインドウにする逃げ道があるけど Undo が困る。

タブを枠外にドラッグで別ウインドウにする時のアニメーションが無くなった。
相変わらず Wayland では Ctrl+F9 が使えない。

Xed にでも乗り換えようかな、と思ったらまったく同じ現象が。
どうやら GtkSourceView 自体の仕様変更のようだ、とっとと削除。
カーソル位置を見失なわないよう配慮したんだろうけど、困った。

、、、、、、、、、、

検索しまくったけど、海外すら誰もこれに気がついていないのか?
無効にする手段は見つからなかったけどこんな面白いのを見つけた。

GitHub – hardpixel/gedit-scroll-past: Gedit 3 plugin to allow scrolling past the end of file.

ファイルの終わりを過ぎてスクロールできるようにする Gedit プラグイン。
おぉ Visual Studio Code みたくできるんだ、作ってくれた人ありがとう!

、、、、、、、、、、

そんなこんなで自作アプリを更新、イライラしながら。

application.run([System.programInvocationName].concat(ARGV));

Y901x はこう書き替えただけで問題なく使えたのでとっとと出した。
gnome-mpv のサイズが完全固定できればこんなの作らなくてもいいのになぁ。

comipoli は何をやってもフルスクリーンがおかしい。
Y901x とまったく同じ処理に書き換えてさえおかしい、意味ワカラン。
早く動くようにしないとエロマンガが見られないジャン!

もう Clutter はあきらめて GtkDrawingArea に書き換えすることに。
macOS 版 comipoli のソースをコピペして cairo に書き換える。

このくらい同じなほうがお互いのメンテが楽でいいよね。
てゆーか滅茶苦茶軽くなったんだが、Clutter 遅かったのね。
作っていてよかった jxa 版。

Fedora 29 Install (SSD)

先日落とした Fedora 29 Workstation の iso を USB メモリに書き出し。
今回は Fedora Media Writer というのを使ったんだけど。
Fedora からなら普通に gnome-software で導入できる。

このアプリは直接 iso のダウンロードまでしてくれるのね。
わざわざ別に iso を落としちゃったよ、なので Custom image から普通に作る。

SSD を付け替え、Fedora 28 の SSD はバックアップ。
UEFI バイオスを USB 優先に変更してライブを起動。
即インストールを選択でいつものように、ってアレ?
インストール中に行っていたユーザー名やルートパスワード指定が無くなった。
それ以外は余程の無知でなければ解るので省略、問題は何事も起こらず完了。

終了して USB メモリを抜いて起動してバイオスを戻す。
初回起動、あぁココでユーザー名指定になったんだ、iPhone なんかと同じ。
そうでないと OS を入れた状態でマシンを配布できないからね。
しばらくアップグレードだったのでいつこうなったのかは知らない。

set | grep ibus しても GTK_IM_MODULE=ibus は出てこない。
でも日本語入力に問題は出ない、Fedora 28 は何だったの?

Ctrl+SHift+E で絵文字選択が出なくなった、不評だったのかな?
入力可能な場所でコンテキストメニューを出すと “Insert Emoji” は出る。

VL ゴシックのフォントがデフォルトでは入らなくなったようだ。
Note Sans Mono CJK JP Regular
を試しで Gedit のフォントに指定してみる、まあ好みで。

Gedit が 3.30 になっているけど違いは判らない。
筆者公開プラグインは普通に動いた、スニペットも今迄のをコピペで使える。

Nautilus のファイル検索がタイトルバーを再利用に変わっている。
パンくずリストが文字列のみに、ここから端末を開くことができるように。
そんな機能より Nautilus Script を左ボタンだけで使える機能が欲しいのに。

即 ~/.config/user-dirs.dirs を弄ってディレクトリ名を変えているのは無視して。
GUI で違いが別るのはコレくらいかな。

gnome-softwere のアドオン/コーデックにいくつか最初からチェックが入っている。
でも再生できるものはほとんど無い、特に H.264 の奴は役に立たない。
UnitedRPMs か RPM Fusion リポジトリをいつものように追加。
libav, License Issues, Non Free 追加で大抵のサムネイルはイケるはず。

Google Chrome はリポジトリを有効にして検索で goo と打てば出て来る。
知っていると思うけど Google にログインすれば元通り。

firewall-config は何故デフォルトでは入らなくなったのだ?
Fedora を選ぶような人なら必須なアプリでしょ。

dconf-editor も。
org.gnome.desktop.interface clock-show-date したらなんか変。

KeePassX が相変わらず検索で出てこない、mono のゴミはイラネ!
と思ったら KeePassXC という KeepassX のフォークが、Qt5 だしコレでいいや。
紹介している日本語サイトが皆 mac なのが面白い。
フリーソフトのインストールが大好きなサルブンツはどうしちゃったのw

gnome-mpv は dnf コマンドからしか導入できないままのようだ。
実はコイツには youtube-dl が付属していることは秘密だよ。

我が自作アプリは、というか。
Gjs の ARGV が UNICODE に変わっていた!

#!/usr/bin/gjs

// Create argv
let argv = [System.programInvocationName];
for (let s of ARGV) {
    /*if (s.includes("//")) {
        argv.push(s);
    } else {
        argv.push(decodeURIComponent(escape(s)));
    }*/
    argv.push(s);
};

今頃か。

あとフルスクリーンの動作が何か変だ、又色々試さなきゃ。
とりあえず自作アプリ以外は再構築完了。

Air

Fedora 29 が出た、その前に。

MacBook Air – Apple(日本)

これぞ Air という型とサイズ、今まで使っていたケースが使える!
アップグレード対象から外れた筆者の 2011 モデルをついに買い替えだ!

Touch Bar は無いのに Touch ID はある、そうだよコレが欲しかった。
バタフライキーボードも第三世代みたいだし改良されているはず。
感圧トラックパッド、Retina Display、T2 チップ、まさかの全部乘せ!

今持っている 2011 Air の下取りオンライン見積りは現時点で 14,500 円。
そんなもんだよね、コイツは持ち運び Fedora にしてしまう予定。
この古い以外は完璧すぎるマシンをこの値段で手放すのはもったいない。

よし US 配列キーボードは選べるな、ポチる。

いやメインマシンはデスクトップ Fedora のままでいくよ。
上記でも使うので今回は久々に iso からクリーンインストール。
19 はとうとう 1.8GB か、デカくなりすぎだよ。
仕事に行かないといけないのでインストールは後日。