MacBook AIr」カテゴリーアーカイブ

Atom 1.44 Script

筆者は Fedora と MacBook Air を 9:1 程度の割合で使っている。
えっ Windows ?もう Office と業務アプリ以外で使う人いないでしょ。

macOS で Atom の 1.44 アップデートがきたので更新。
設定のコミュニティパッケージが消えた、何でや!
いや atom-runner とかは普通に動作しているんですけど。

GitHub – rgbkrk/atom-script

原因は Script パッケージを無効にしたまま残していたからだった。
1.43 時からバグっていたけど、メンテナンスする人がいないのか…

Atom: Script to atom-runner | Paepoi Blog

削除したら設定のコミュニティパッケージは正常に戻った。
表示がおかしくなった人は無効にしているパッケージを削除してみて。

GitHub – lsegal/atom-runner

いやまあ、atom-runner も 4 年放置されているけど。
更新されないから逆に自分で書き換えたコードが上書きされないメリットも。
「Atom を Gedit のように使う」のページもそろそろ更新しなきゃ。

open -a URI

macOS の open -a に渡すのは URI でも良かった。

Finder Script を以下に書き換えしても普通に動くね。
Tips ページを又しても書き換えしなきゃ。

#!/usr/bin/osascript

let app = Application.currentApplication();
app.includeStandardAdditions = true;

let uri = Application('Finder').finderWindows()[0].target().url();
//let path = decodeURI(uri).slice(7);
//app.doShellScript(`open -a Terminal "${path}"`);
app.doShellScript(`open -a Terminal "${uri}"`);

ところで筆者はメインマシンが Fedora なので URI と主に書く。
macOS メインの人は URL と同じ意味だと思えばいい。
URLとURIの違いとは? パーツの構造・名称・意味も大解説! | 初代編集長ブログ―安田英久 | Web担当者Forum

ただし macOS 標準アプリは全部対応しているけどアプリによるみたい。
筆者自作の comipoli も対応しなきゃいけないんだけど。

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 って使い辛いんだもん。

macOS sh

macOS で man sh を初めて見てみたんだけど。

つまり /bin/sh は /private/var/select/sh を起動する。
その /private/var/select/sh は /bin/bash へのシンボリックリンク。

つまり macOS の sh も bash が本体ということみたい。
環境によってリンク先は変わるかもだが筆者の Air はこうなっていた。
なんでこんな面倒な仕組みになっているんじゃい。
Fedora みたいに直接 sh というリンクにすればいいのに。

でもまてよ、sh と bash は動作が違っていたよな。
(bash|zsh) read command 2 | PaePoi

色々探してみたらこんなのを見つけた。
/bin/sh と /bin/bash の違い – 双六工場日誌

あぁそういうことだったんだ。
Fedora 30 で試したらやはり posix のオプションが違っていたよ。
sh は bash を posix sh 互換で起動する呼び出し方で合っているかな。
でも Fedora の sh は \n 文字を文字として扱うのよね、まあいいか。

しかし何故 dash も選択肢に入っているのか?
Debian Almquist shell – Wikipedia
debian 系のコレと同じものだと思うけど、標準で入っている理由がワカンネ。