Bir klasörü kök olarak taşımak veya kopyalamak için nautilus ayrıcalıklarını nasıl yükseltebilirim?


11

Diyelim ki Nautilus'ta dizinimde açık bir klasör var /home/user/temp. Bir klasörü oradan dizinime taşımak istiyorum /opt(bu bir program). sudoKomut satırından Nautilus'un yeni bir örneğini başlatmak zorunda kalmadan klasörü kopyalayabilmem için copy komutunu yükseltebileceğim bir yol var mı ?

Yanıtlar:


6

Bildiğim kadarıyla, bildiklerimi ve deneyimlediklerime dayanarak:

sudokomut satırı uygulamaları / komutları gksudoiçin kullanılır ve Alt + F2 tuşlarına basarak Uygulamayı Çalıştır iletişim penceresini kullanarak bir program çalıştırmayı denediğinizde kullanışlıdır .

Ben gksudosadece grafik versiyonu okudum sudo.

Neyse, hem damla olabilir sudo nautilusve / veya gksu nautilus bir terminal içinde bir amaç için aynı etkiyi hem komutları sahip, dilerim ki ne yapacağını. Ancak terminali atlamak ve doğrudan " Uygulamayı Çalıştır " iletişim penceresi ile çalıştırmak istiyorsanız , Alt + F2 tuşlarına basın ve yazın gksu nautilus, ardından şifrenizi girmeniz istenir, ardından nautilus dosya tarayıcısı açılır kök ayrıcalıklarına sahip.

Ayrıca, "Yönetici Olarak Aç" seçeneğini sağ tıklamayla tek bir tıklama ile dosya / klasörleri kök olarak açmayı başarabilirsiniz. Her durumda, verilen klasör için yeni bir nautilus örneği açacak ve dosyaları kök olarak açacak, bu da uygulamaları kök olarak açabilir / çalıştırabilir, ancak henüz test etmedim.

resim açıklamasını buraya girin

Komut satırından nautilus-gksu kurarak sudo apt-get install nautilus-gksuveya bir sonraki resimde gösterildiği gibi sinaptik kullanarak bağlamsal menünüzde "Yönetim Olarak Aç" seçeneğini alabilirsiniz :

resim açıklamasını buraya girin

İyi şanslar!


Görünüşe göre "Farklı aç" komutunu almak için bir şeyler eklemem gerekiyor. Ne olduğunu hatırlıyor musun? Ben Ub
11'deyim.

nautilus-gksu, sinaptik (resim eklendi) veya komut satırı (ayrıca cevapta verilmiştir)
Geppettvs D'Constanzo

3
Burada kullanmak gerekir gksu nautilusdeğil sudo: askubuntu.com/q/11760
Takkat

2
Nautilus-gksu hareket etti mi? Kaybolmak? USC veya apt-get'de bulamıyorum.
jcollum

2
@jcollum nautilus-gksu, Ubuntu 12.04'ten itibaren depoda artık mevcut değil.
IQAndreas

5

Nautilus'u root olarak çalıştırman gerek

bunu terminale yazın

gksu nautilus

artık GUI'yi kullanarak hareket edebilirsiniz.

veya bu komutu kullanın

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

1
Yani cevap "Nautilus'u yeniden başlatmadan yapamazsın" mıydı?
jcollum

nautilus'u yeniden başlatmanız gerekmez, sadece gksu komutuyla başka bir örnek açın. Ama "kullanıcımla açık nautilus açın ve sonra dosyaları taşımak için bu durumda kök ayrıcalıklarına sahip" demek istiyorsan belki de ihtiyacınız olan şey upubuntu.com/2011/12/…
zurdo

Yeni bir nautilus penceresi açmanız gerekecek, ancak işleri daha kolay hale getirmek için çubuğu çubuktan kopyalayıp komutu çalıştırın: gksu nautilus "/path/to/dir/pasted/here"(yolun etrafındaki alıntılar önemlidir)
IQAndreas

1

İşte bir yönetici (kök) Nautilus penceresi açmak için kullandığım nautilus-script:

#!/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

Bir başka züppe çözüm, Nautilus'un başka bir kopyasını bir komut satırından root (sudo) ayrıcalıklarıyla başlatmaktır:

gksudo xdg-open <path> &

Kapatma &, komutun arka plan işi olarak çalıştığı anlamına gelir; dolayısıyla kullanımı gksudo(kullanarak sudosize yanıt olamaz görünmez bir istemi anlamına gelecektir). xdg-openbir kaşif penceresi ( nautilusveya başka bir pencere) başlatmaya özen gösterir .

xdg-utilsVe gksupaketlerini önceden yüklemeniz gerekebilir .

Sen uyarı ve bir demet alabilirsiniz Gtk-CRITICALve Glib-GObject-CRITICALyüksek Nautilus pencereyi kapattıktan sonra mesajlara, ancak bu kadarını söyleyebilirim kadar zararsızdır. Birisi nasıl bilirse onlardan kurtulmayı çok isterim.


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

Bunun yerine, [Filename]parantez olmadan dosyanızın adını yazın [].


2
-1, soruya değinmiyor ... mv komutunun nasıl kullanılacağını sormadım.
jcollum

3
Kök olarak yalnızca bir komutun kullanılması, grafik Nautilus'u kök olarak açmaktan daha iyi bir uygulama olarak bilinir.
Agmenor

-2

Başka bir kolay yol

sudo gnome-open foldername

Veya nemo dosya yöneticisini yüklemenizi tavsiye ederim. Sağ tıklama bağlam menüsünde 'kök olarak aç' var

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.