Linux」カテゴリーアーカイブ

Fedora and macOS sftp

macOS Catarina になって私的に一番困ったのが Fedora との接続です。
afp が使えなくなったので samba を使ってファイルのやりとりをしているのだけど。
Catarina にアップグレードした直後から唖然とするほど遅くなった。

初期化だけなら別にかまわないんだけど、すべてが遅い。
ディレクトリ移動毎にしょんぼりするほど待たされるってどうなのよ。

他の手段で Fedora から macOS のファイルにアクセスというと。
やっぱり UNIX 系 OS の基本は SSH ですよね。

ssh ユーザー名@macのコンピューター名.local/

ssh

普通に接続できた、しかもディレクトリ移動もまるでローカルのように早い。
ログインして cat コマンドで表示される文字列を端末エミュレーターからコピペ。
で大半の作業はイケるはず、てか Catarina になってからそうやっていた。

でもこれじゃファイルの転送はできない、何より面倒。
やっぱりファイルマネージャを使った GUI でやりたいよね。
sftp という ssh を使ったプロトコルがあったよな。
ものは試しのつもりで Nautilus で Ctrl+L を叩いて以下を打ち込む。

sftp://macのコンピューター名.local/

sftp

できるジャン、しかも感動するくらい早い!
Nautilus をもう一つ立ち上げ普通に DnD でコピペできる。
Gedit や eog で普通にファイルを開くこともできる。

てか、samba はコピーするとパーミッションが 600 になって困っていた。
コッチならパーミッションは維持される、すばらしい。

何故誰もこの方法を教えてくれなかったんだ!
ってしかたがないか、大半の人は Linux から macOS に接続なんて考えないし。
どちらかが Windows だと samba になってしまうよね。

mac sftp

ちなみに Finder からは sftp はできませんでした。
ssh すら、Firewall ポートは空けて SELinux を無効にしても駄目だった。
まだ何かやる必要があるみたいだけど Nautilus で全部やればいいから別にいいか。
だって Finder って使い辛いんだもん。

Fedora 31 Upgrade

Fedora 31 が出たので 30 からアップグレード。
方法はいつもと同じなので省略。

gnome-terminal の HeaderBar にあった妙な違和感が消え一般的になった。
python のリンクが python3 になった、今更感が凄い。
どうしても python2 が使いたいなら python2 と指定。
いや、デフォルトでは python2 は入っていないんだけど。

しかし Gedit は python の shebang を python2 と認識するまま。
#/usr/bin/env python3 と書かないと python3 と認識しない。

Super+A でのアプリケーションメニューのまとめが少し変わった。
サブ項目が「ユーティリティ」という一箇所にまとめられた。
多分 macOS の真似。

firewall-config と dconf-editor だけ Sundry にまとめられた。
システムに関するものをデフォルトと後入れに分けたみたいね。
iPhone みたいにドラッグして自分でまとめられるからどうでもいいかも。

Wayland でフルスクリーンから戻る時がスムースになった、気がする。
戻る時に表示が崩れることが多々あったけど今のところ起きていない。

後は、何も変わった気がしないなぁ。
一部のデフォルトアイコンや設定の配置が少し変わったけど別にって感じ。
後は GtkCheckButton の色が少し濃くなった程度しか解らない。

筆者の公開アプリやプラグインは全部そのまま問題なく動くし。
macOS と違って httpd.conf のカスタムなんかは引き継ぎされるし。
Celluloid がアップデートしていないのに落ちなくなったのは意図的?
最近の Fedora upgrade は問題が出なさすぎて面白くないや。

Celluloid

Fedora でアプリケーション一覧、あれ?
Celluloid というインストールした覚えのない GUI アプリがあるんだけーが。
というか gnome-mpv が無いぞ。

Celluloid

gnome-mpv が知らない間に変名していたのか。
そりゃ使おうと思うまで気が付かないよ、普段鑑賞用途は自作して使っているんだから。
試しに gnome-mpv を dnf から指定してみたらリンクなのか変名版が出て来た。
つまりパッケージマネージャは変名 Update にも普通に対応しているようだ、へー。

ただ現行版は Fedora でメニューボタンを押すと落ちるんだが、アップデートを待つか。

それと初期化で動画の元サイズにリサイズせず固定にできないものか。
筆者自作のプレイヤーも以前はそうしていたけどスマホが普及した今となっては合わない。
スマホの縦動画や 4k 等々で元サイズが豊富になった現状では MPV 方式はイラッとする。

動画プレイヤーの自作をやっていて良かった、自分に必要な機能に絞ったものが手に入る。
それも不満がサイズ関連だけで良かった、サイズ固定ならむしろ簡単なんだからさ!

有名アプリだとか複数人が開発に関わっていると基本動作を変更するのは超難問だ。
Windows 日本語版が cp932 から脱却できないなのもソレ、依存していた大多数の顧客を失う。
その理由で Windows を完全に使わなくなった人は筆者を含めて 1% にも満たないと思う。
mpv 系の場合はオプションで対応できる、と思うけど筆者の知らない色々があるのかなと。

そんなこんなで。
上記リンク先から Celluloid のソースコードに辿り着けるだろう。
プログラミングに興味を持つのは現状に不満がある、ことがキッカケなのだから。

Fedora 30 Upgrade

Fedora 30 来ました。
下は [ダウンロード] ボタンを押した状態、今回はアップグレードです。

UnitedRPMs リポジトリを一時的に Disable にしないと更新できないエラーが出る。
無効にして再開、[インストール] ボタンが出るので押してパスワード。
しばらく待っていると Fedora 30 になっていた、アップグレードおしまい。

見た目の変更点とかはインストールだけなブロガーが書くだろうから無視して。
ずっと使ってプログラミングしている人しか解らない変更点なんかを。
てか、Linux ってプログラミングしない人には不便なだけの OS なんだけど。

何より、Gedit てか GtkSourceView が改善された!
タブのアクティブ毎にカーソル位置へ勝手にスクロールするのがウザかった。
それが何か打ち込むまで勝手にスクロールをしなくなった、マジで嬉しい。

Gedit のタブをドラッグして別ウインドウ時のアニメーションが復活。
前に戻っただけじゃんというのは置いておいて。
Nautilus は何故コレをできなくしてしまったのだろう?

Nautilus でファイルのドラッグ移動が失敗する場合があるのは変わっていないな。
ただ筆者はドラッグがスゲェやり辛い Macbook Air 2018 を併用しているということで。
command+X, command+V で移動が普通になっているので Ctrl+X でのファイル移動に苦は無い。

デフォルトじゃないけど Geary(メーラー) の起動が死ぬほど遅くなった。
追記: アップデートで普通になった
何故だろう、思いっきり GTK3 アプリなのに。
Google Chrome, KeepassXC, GNOME MPV 等は問題無し。

一番気になるアプリケーションメニューの廃止。
ハンバーガーメニューにする前の Comipoli 0.3.4 を起動してみる。

ココに出るだけか、あわてて作り変える必要は無かったな。

GNOME アプリは元の位置に「新しいウインドウを開く」が出る。
我がアプリではココが空になる、どうやるか後で調べる必要があるな。
「詳細を表示する」を選ぶと gnome-softwere の該当ページが開く、これ必要か?
ちなみに我がアプリ等の自前インストールは「見つかりません」と出る。

設定のアプリケーションって何かと開いたら我がアプリまで。
*.desktop ファイルを解析している、というか *.desktop を編集できるってか。
追加ができないのではあまり意味は無いと思うんですけど。

後は特に変わったような気がしない、何か気が付いたら又。

そうそう、我がアプリの Comipoli はハンバーガーメニュー化だけで問題無し。
Y901x は引数付き起動ができなくなっていた!
Gjs, Clutter, GStreamer のドレが原因か解らないけどなんとかしなきゃ。

二時間くらい調べてなんとか原因が判明。
ClutterGstVideoSink で得る GstPad が null になっている。
別の手段で動画のオリジナルサイズを得る必要があるなと。

ClutterGstTypes: Clutter Gst 3.0.24 Reference Manual

ClutterGstVideoResolution 構造体に width, height があるな。
だったらこうすればサイズが得られるのかも?

var Y901xWindow = GObject.registerClass({
    GTypeName: 'Y901xWindow'
}, class Y901xWindow extends Gtk.ApplicationWindow {
    _init(app) {
        super._init({application: app});
        // etc...
        this.player = new ClutterGst.Playback();
        // Ready
        this.player.connect('ready', (player)=> {
            this.player.set_playing(false);
            // Get Origin Size
            let vsink = player.get_video_sink();
            /* old
            let it = vsink.iterate_pads();
            it.foreach((pad)=> {
                let caps = pad.get_current_caps();
                let struct = caps.get_structure(0);
                this.src_width = struct.get_int('width')[1];
                this.src_height = struct.get_int('height')[1];
            });*/
            // new (Fedora 30)
            let frame = vsink.get_frame();
            this.src_width = frame.resolution.width;
            this.src_height = frame.resolution.height;

イケた!

ということで Comipoli 0.3.5, Y901x 1.2.1 公開。
Linux アプリケーション – L’Isola di Niente

Y901x のほうは変更点が多いけど解説すると長くなるのでまた今度。

ところで Fedora 29 の時に勘違いしていたけど GTK+ の 2 年枚更新は前回だったのね。
だから少し仕様が変わっていたのか、次の仕様変更は Fedora 33 なのね。
筆者はそれに合わせてクリーンインストールする予定。

30

Fedora 30 が予定通りに出ている!
Get Fedora: download our Linux-based OS for developer desktops, running containers, and more

絶対にまた遅れると思っていたのに。
でも更新通知は来ていない、面倒だから今回はアップデートでいくつもり。

手動更新ボタンを押したらこんなの出た。
gnome-softwere を更新しなきゃいけないのかな?
さっそく入れたけどやはり通知はこない。
あーもう、更新は明日にしよう。

ところで Y901x はもう更新をヤメようかと思ったけれど。
コレをヤメたら JavaScript を勉強する道具が無くなると気がつく。
comipoli は Python に戻しちゃったし、しょーがないから更新を続けるわ。
というか今日は雨だし一日中やっていた。
細かいことは Fedora 30 での動作確認の後で。