LoginSignup
0
2

More than 1 year has passed since last update.

rmtrashがHomebrewでインストールできないので代替パッケージのtrashをインストール

Posted at

環境

iMac (2017)
macOS Big Sir ver 11.4

状況

rmtrashがをHomebrewでインストールするため、まずはパッケージの検索。

terminal
% brew search rmtrash
==> Formulae
trash

rmtrashがヒットせず、trashがでてくる。
どうやら、rmtrashは使用不可らしい。
(参考:https://github.com/Homebrew/homebrew-core/pull/65438)

rmtrashの代替パッケージをインストール

以下のrmtrashの代替パッケージtrashをインストールしました。
https://github.com/h-matsuo/macOS-trash

インストールの手順はインストラクション通り。
1, スクリプトファイルSource code (zip)をダウンロード
2, 展開した後に"trash"ファイルを/usr/local/bin に配置
  (Finder→移動→/usr/local/bin と移動し、trashを手動で移動しました。)

動作確認→NG

テスト用のディレクトリであるTestFolderを作ってから、trashコマンドを試してみる。
※ ディレクトリの削除は-rオプションが必要。

terminal
% mkdir TestFolder
% trash -r TestFolder
29:98: execution error: FinderにApple Eventsを送信する権限がありません。 (-1743)

エラー発生。どうやらmacOS Mojave(10.14)から新しく導入された「オートメーション」の機能より、制限を受けているらしい。

・「オートメーション」機能によるプログラムの制御を解除する方法
1.「システム環境設定」の「セキュリティとプライバシー」を開く
2.「プライバシー」タブをクリックし、画面左側の「オートメーション」をクリック
3.「ターミナル」の項目の「Finder」にチェックをつける

気を取り直してもう一度、動作確認→OK

先ほど作ったテスト用のディレクトリであるTestFolderにtrashコマンドを試してみる。

terminal
% trash -r TestFolder

ゴミ箱を確認してみると、TestFolderがありました。
現在,ゴミ箱からもとに戻す機能はサポートされていないそうです。
GUI を用いて戻すことができるとのことなので試してみたら、Finder.app を使用して手動でゴミ箱から出すことができました。

最後にrmコマンドの代わりにtrashが動くように設定(エイリアスを切る)

terminal
% echo "alias rm=trash" >> ~/.bashrc
% source ~/.bashrc

これにより、rmコマンドでファイルがいきなり削除されるのではなく、ゴミ箱に移動されるようになるはず。
テスト用のファイルnewfileを作成し、消してみます。

terminal
% echo > newfile
% rm newfile

ゴミ箱を確認してみると、newfileがありました。
rmコマンドでtrashパッケージを動かせているようです。
これで安心してrmコマンドを打てます。

以上です。

参考

以下の記事を参考にしました。
「Macでrmtrashの代替とLinuxでのrmの置き換え」

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2