
システム:Linux Mint 18.1 64ビットシナモン。
目標:定義吹くさまざまなリリースのためのエイリアスコマンドラインインタフェースそしてGUIファイルを開くときは、テキストエディタを使用します。根パターンのソースgnome-terminal
エミュレータ。
進展
たとえば、次のエイリアスは期待どおりに動作するようです。
~のためコマンドラインインタフェース、この例ではNano(公式ウェブサイト):
alias sunano='sudo nano'
alias suxed='sudo xed'
両方ともファイルを開きます。根。
質問
質問があります。gksudo
これと組み合わせるsublime-text
:
alias susubl='gksudo /opt/sublime_text/sublime_text'
時々効果があるほとんどの場合、何もしません。
この一貫性のない動作をどのようにデバッグしますか?何も出力しません。エラーメッセージやそのようなものはありません。
質問
gksudo
Debianでは廃止され、Ubuntu 18.04 Bionicには含まれなくなりました。
LinuxのGUI(およびCLI)でシステムファイルをrootとして正しく編集するには?
適切にこの場合は、次のように定義します。安全にたとえば、ファイルの編集中に停電が発生した場合にSSHを切断するなどの別の例があります。
答え1
sudoedit
必要な場合以外は、rootとしてエディタを実行しないでください。sudo -e
またはsudo --edit
デスクトップ環境の管理機能です。
sudoedit
sudoedit
正しく設定されたら、次のことができます。
SUDO_EDITOR="/opt/sublime_text/sublime_text -w" sudoedit yourfile
sudoedit
この操作が許可されていることを確認し、所有権を手動で変更せずに編集できるファイルのコピーを作成し、エディタを起動し、エディタが終了したら、ファイルが変更された場合は再度コピーします。
エイリアスの代わりに関数を使用することをお勧めします。
function susubl {
export SUDO_EDITOR="/opt/sublime_text/sublime_text -w"
sudoedit "$@"
}
たとえジェフ・シャラーenv
これをエイリアスに入れ、シェル環境を変更する必要はないと指摘しました。
alias susubl='env SUDO_EDITOR="/opt/sublime_text/sublime_text -w" sudoedit'
$SUDO_EDITOR
$VISUAL
orが十分であれば、$EDITOR
環境変数を使用する必要はありません。
これ-w
オプションsudoedit
ファイルを返して再コピーする前に、ファイルが閉じるまでSublime Text呼び出しが待機していることを確認してください。
デスクトップ環境(GNOME)
GNOME(およびその他のデスクトップ環境)では、次のいずれかを使用できます。GIO/GVFSadmin://
- 計画のある有能な編集者
gedit admin:///etc/shells
その後、PolKitを使用して適切な認証を要求し、認証が成功したら編集するファイルを開きます。
答え2
他の解決策:私はシステムファイルを直接編集せず、どこかにコピーを作成し(*)、コピーを編集し(通常はエディタを使用して)作業をsudo cp
完了します。
(*) すべてのファイルが一箇所に保管されるディレクトリがあります。
- 私が変更したすべてのファイルのリストを自然に保ちます。
- 簡単なバージョン
- バックアップが容易
- 他機への転送が容易