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

Fedora and macOS sftp 2

前回の macOS から Fedora への ssh の件。
Fedora の共有設定で「リモートログイン」をオンにするだけだった。

ssh で macOS から接続の初回は警告が出るけど yes を選べば以降は普通に接続。
Fedora の ssh ポート(22) は最初から開いているし SELinux にも邪魔されない。
ログアウトは control+D でいいのね。

後は sftp だけど、よく考えたら Finder でやる必要はなかった。
普通にアプリを探せばいいじゃん。
GNOME だと Nautilus が便利すぎてそういう選択肢を忘れてしまう。
本サイトの macOS Tips ページも実は全部 Nautilus でアップロードしている。

てかフリーソフトをインストールしまくるなんて初心者しかやらないし。
homebrew とかいったい何故そんなのを使いたい人がいるのかも理解できない。
Xcode すら入れていない筆者がこんな Blog をヤレるのに。
脱線しそうなのでこのくらいにして。

多分アップデート以外で App Store を開くのは数年ぶり。
sftp で検索。
Transmit というのが定番と出るけど調べると年額 2800 円って、高いよ!
ForkLift というアプリが 8.5MB だし無料のようなので試してみる。
初回起動でメールアドレス入力が出るけど no, thanks! を選択でいいみたい。

普通に接続できた、DnD で問題なく双方向コピーできる。
思いっきり英語メニューだけど普通に使うぶんには問題ないかな。

でもサーバー側は日本語がバケる、コピーはバケたまま可能だけど。
W クリックでファイルを開くことも、ただし command+O は使えない。
Favorites に command+D で登録できない、てかどうやって登録するんだ?
サードパーティとはいえもっと統一感がほしい、って GNOME 使いは思う。

ところで macOS にも sftp コマンドが最初から入っているんだね。
ラッピングしてアプリを自作するのもアリかも。

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 なのね。
筆者はそれに合わせてクリーンインストールする予定。