rootとしてフォルダーを移動またはコピーするには、nautilus特権を昇格させるにはどうすればよいですか?


11

私の/home/user/tempディレクトリにあるNautilusでフォルダを開いているとします。そこからフォルダーをディレクトリに移動したい/opt(プログラムです)。sudoコマンドラインからNautilusの新しいインスタンスを起動せずにフォルダーをコピーできるように、コピーコマンドをに上げることができる方法はありますか?

回答:


6

私の知る限り、私が知っていることや経験したことに基づいて:

sudoコマンドラインアプリケーション/コマンドに使用され、Alt + F2を押して[ アプリケーションgksudo実行 ]ダイアログウィンドウを使用してプログラムを実行する場合に便利です。

私はそれgksudoがちょうどグラフィックバージョンであると読んだことがありsudoます。

とにかく、両方のコマンドで同じ効果を得るために、あなたが望むことをするために、端末にドロップするsudo nautilusgksu nautilus 、端末に入れることができます。ただし、ターミナルを省略して「アプリケーションの実行」ダイアログウィンドウで直接実行する場合は、Alt + F2を押して書き込みgksu nautilusます。その後、パスワードの入力を求められ、nautilusファイルブラウザが開きます。ルート権限で。

さらに、右クリックで「管理者として開く」オプションを使用すると、シングルクリックでルートとしてファイル/フォルダーを開くことができます。いずれにしても、指定されたフォルダーの新しいnautilusインスタンスを開き、ファイルをルートとして開きます。これは、アプリケーションをルートとして開いたり実行したりすることもありますが、まだテストしていません。

ここに画像の説明を入力してください

コマンドラインからnautilus-gksuをインストールするsudo apt-get install nautilus-gksuか、次の図に示すようにシナプスを使用すると、コンテキストメニューで[管理として開く]オプションを取得できます。

ここに画像の説明を入力してください

幸運を!


「名前を付けて開く」コマンドを取得するには、何かを追加する必要があるようです。それが何だったか思い出せますか?私は11
jcollum12年

nautilus-gksu、シナプス(画像を追加)またはコマンドライン(回答でも提供)
Geppettvs D'Constanzo

3
使用しgksu nautilusない理由はsudo次のとおり
q

2
nautilus-gksuは動きましたか?姿を消す?USCまたはapt-getで見つけることができません。
jcollum

2
nautilus-gksuUbuntu 12.04の時点で、@ jcollum はリポジトリに存在しなくなりました。
IQAndreas

5

Nautilusをルートとして実行する必要があります

これを端末に入力します

gksu nautilus

GUIを使用して移動できるようになりました。

またはこのコマンドを使用します

sudo mv -r /home/user/temp/<foldername>/ /opt/

1
答えは「Nautilusを再起動しないとできない」ということですか?
jcollum

nautilusを再起動する必要はありません。gksuコマンドで別のインスタンスを開くだけです。しかし、あなたは、「私のユーザーとのオープンオウムガイをして、ファイルを移動するために、そのインスタンスにroot権限を得た」を意味しますが、必要なもののかもしれないという場合upubuntu.com/2011/12/...~~Vは
zurdo

新しいnautilusウィンドウを開く必要がありますが、物事を簡単にするために、バーから場所をコピーし、コマンドを実行します:(gksu nautilus "/path/to/dir/pasted/here"パスを囲む引用符が重要です)
-IQAndreas

1

以下は、管理者(ルート)Nautilusウィンドウを開くために使用するnautilusスクリプトです。

#!/bin/bash
# This Nautilus script opens the current nautilus window in admin mode.
# Requires: perl, liburi-perl

ERROR_NEED_PERL="This script requires the liburi-perl package. Install it and try again."
GKSUDO_MESSAGE="Enter your password to open an admin window on: "
ERROR_BROKEN_LINK="Broken link."

## Check for liburi-perl (and hence perl)
let PERLOK=$(dpkg-query -W --showformat='${Status}\n' liburi-perl|grep "install ok installed")
if [ "" == "$PERLOK" ]; then
   zenity --error --text "$ERROR_NEED_PERL"
   exit 1
fi

let LEN_NSSFP=${#NAUTILUS_SCRIPT_SELECTED_FILE_PATHS}-1
[ $LEN_NSSFP -lt 0 ] && let LEN_NSSFP=0
let LEN_NSSU=${#NAUTILUS_SCRIPT_SELECTED_URIS}-1
[ $LEN_NSSU -lt 0 ] && let LEN_NSSU=0

## if clicking happens on the Desktop (or a file or folder on it),
## $1 will be a path (i.e. with "/" in it); otherwise (in a folder
## window) $1 will be just a file or folder name (without path).
## Note that selecting the home desktop namespace extension yields
## a $# of zero but NAUTILUS_SCRIPT_SELECTED_FILE_PATHS pointing to the
## target (in the computer (computer:///) and trash (trash:///) desktop
## namespace extension cases, ...PATHS is empty).

## Initially, we stripped the file:// prefix from NAUTILUS...CURRENT_URI,
## yielding the full path, and then retrofit spaces, like this:
#OBJECT="`echo -n $NAUTILUS_SCRIPT_CURRENT_URI | cut -d'/' -f3- | sed 's/%20/ /g'`"
## However, this fails if any special characters other than spaces are in the path,
## such as accented letters, etc. We need to convert not just spaces, but any
## UTF-8 embedded in there...The URI<->path conversion requires perl (and liburi-perl):
OBJECT=$( echo "$NAUTILUS_SCRIPT_CURRENT_URI" | perl -MURI -le 'print URI->new(<>)->dir' )
## ->file is to be used for file URIs instead of ->dir, which is for directory URIs

CONTEXT="$OBJECT"
## Add the selection to the path, if defined and unique
if [ $# -eq 1 ] ; then
   ## If a single Desktop object, override
   if echo $1 | grep -q "/" ; then ## Desktop (or object on desktop)
      OBJECT="$1"
      CONTEXT=""
   else ## $1 is a simple file or folder name, without a path
      ## The container could be root (/)
      OBJECT="${OBJECT%/}/$1"
   fi
# elif [ $# -eq 0 -a -n "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" ] ; then
elif [ $# -eq 0 ] ; then
   ## desktop name space extension selected?
   if [ -n "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" ] ; then ## Home
      OBJECT="${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS:0:LEN_NSSFP}"
   elif [ -n "$NAUTILUS_SCRIPT_SELECTED_URIS" ] ; then ## Computer, Trash
      ## These typically map to root (/)
#     OBJECT="`echo ${NAUTILUS_SCRIPT_SELECTED_URIS:0:LEN_NSSU} | cut -d'/' -f3- | sed 's/%20/ /g'`"
      OBJECT="${NAUTILUS_SCRIPT_SELECTED_URIS:0:LEN_NSSU}"
      OBJECT=$( echo "$OBJECT" | perl -MURI -le 'print URI->new(<>)->dir' )
   fi
   CONTEXT=""
fi
## Note that a desktop shortcut (.desktop file) does not trip -h
if [ -h "$OBJECT" ] ; then ## symbolic link
   ## readlink has no "follow symlinks as far as they exist" option
   OBJECT=`readlink -e "$OBJECT"`
   if [ -z "$OBJECT" ] ; then
      zenity --error --text "$ERROR_BROKEN_LINK"
      exit 1
   fi
fi

# zenity --info --text "\$OBJECT is « $OBJECT »"
if [ -f "$OBJECT" ] ; then
   ## Regular file
   DIR=`dirname "$OBJECT"`
else
   ## Directory (or no object)
   DIR="$OBJECT"
fi

## If DIR is empty, gnome-open opens in the default (home) directory (i.e. "~") anyway
#if [ -z "$DIR" ] ; then
#   DIR=~
#fi

## At this point, the test [ ! "$CONTEXT" = "$DIR" ] serves to indicate
## that the target directory is not matched to the one the script was
## invoked from (if any).

gksudo --message "$GKSUDO_MESSAGE$DIR" gnome-open "$DIR"

exit $?

0

別の巧妙な解決策は、コマンドラインからルート(sudo)特権でNautilusの別のコピーを起動することです。

gksudo xdg-open <path> &

閉じると&は、コマンドがバックグラウンドジョブとして実行されることを意味します。したがって、の使用はgksudo(使用sudoすると、応答できない目に見えないプロンプトを意味します)。xdg-openエクスプローラーウィンドウ(nautilusまたはその他)の起動を処理します。

xdg-utilsgksuパッケージを事前にインストールする必要がある場合があります。

あなたは警告との束を得ることGtk-CRITICALGlib-GObject-CRITICAL上昇のNautilusウィンドウを閉じるときに、メッセージを、これらは私の知る限りとして無害です。誰かが方法を知っていれば、私はそれらを取り除きたいです。


-1
sudo mv /home/user/temp/[Filename] /opt

代わりに[Filename]、括弧なしでファイルの名前を入力します[]


2
-1は質問に対処しません... mvコマンドの使用方法は尋ねませんでした。
jcollum

3
rootとしてコマンドを1つだけ使用することは、グラフィカルなNautilusをrootとして開くよりも良い方法として知られています。
-Agmenor

-2

別の簡単な方法は

sudo gnome-open foldername

または、Nemo File Managerをインストールすることをお勧めします。右クリックコンテキストメニューに「ルートとして開く」があります

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.