Trampはリモートファイルやroot権限でファイルを開く機能として知られていますが、
実はリモートコマンド実行・sudoでのコマンド実行もできます。
その方法は2つあります。
- C-x C-fでリモート・sudoでdiredを開き、M-!(shell-command)を実行する
- eshellを使う
rootでdiredを開くにはdired-toggle-sudo を使うのもいいです。
C-x C-f /sudo:: RET →/rootがdiredで開かれる M-! echo $USER RET →「root」と表示される M-! tail -f /var/log/syslog.log & RET → 「*Async Shell Command*バッファでtail -fが実行される」
eshellでの実行例です。
# /etc/gshadow-は一般ユーザでは開けない $ cd /etc $ ls -l gshadow- -rw------- 1 root root 1022 2月 1 2016 gshadow- $ find-file gshadow- File is not readable: /etc/gshadow- # けれども、sudoすれば開ける $ /sudo::/etc $ find-file gshadow- #<buffer gshadow->
M-x gdbでもtramp形式のファイル名を指定できます。
内部で使われているgud.elでファイル名の変換を行ないますので、
指定されたファイル名そのままがgdbに渡っているわけではありません。
M-x gdb RET Run gdb (like this): gdb --annotate=3 /ssh:host:~/myprog RET
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。