Nautilusでファイルを削除しようとすると、ファイルをゴミ箱に移動できません


16

Nautilusでファイルを削除しようとしていますが、削除しようとするたびに常に次のメッセージが表示されます。

ファイルをゴミ箱に移動できません。すぐに削除しますか?

次に、いくつかの質問があります。Deleteキーボードを押すと、自動的にゴミ箱に送られるだけです。毎回私に尋ねないでください。

この問題は、NTFSパーティション、外部ドライブに関連していますが、Linuxファイルシステムも含まれています。

オウムガイがゴミ箱に移動できない理由は何ですか?

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


あなたは、ファイルのフル(絶対)パスを提供することができます
aneeshep

この場合、/ var / wwwです。既にその所有者であり、権限は良好です。しかし、ハードドライブやペンドライブなどの外部ユニットにも同じ問題があります。
ルイスアルバラード

回答:


10

(アップデートで解決されたバグであったため、ユーザーからのケースではなく、リムーバブルメディアについて)

この動作は、ドライブがマウントされたときに所有者と見なされないため、ごみ箱を作成できないために発生します。何のuidgidが割り当てられていなかったとゴミ箱フォルダがドライブに作成することはできませんので、あなただけのファイルを自動的に削除する選択肢を提供されています。

その場合、2つのオプションがあります:Linuxファイルシステムにファイルをカットしてそこから削除する(プレス削除の目的を無効にし、ファイルが削除される)か、ドライブをマウントするときに正しいパーミッションが割り当てられていることを確認します。

これらの行を使用して自動マウントされたドライブ用の新しいルールを作成し、そのためにお気に入りのテキストエディターを使用します

gksudo gedit /etc/udev/rules.d/10-my-media-automount.rules

# vim:enc=utf-8:nu:ai:si:et:ts=4:sw=4:ft=udevrules:
#
# /etc/udev/rules.d/10-my-media-automount.rules

# start at sdb to ignore the system hard drive
KERNEL!="sd[b-z]*", GOTO="my_media_automount_end"
ACTION=="add", PROGRAM!="/sbin/blkid %N", GOTO="my_media_automount_end"

# import some useful filesystem info as variables
IMPORT{program}="/sbin/blkid -o udev -p %N"

# get the label if present, otherwise assign one based on device/partition
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="usbhd-%k"

# create the dir in /media and symlink it to /mnt
ACTION=="add", RUN+="/bin/mkdir -p '/media/%E{dir_name}'"

# global mount options
ACTION=="add", ENV{mount_options}="relatime"
# filesystem-specific mount options (777/666 dir/file perms for ntfs/vfat) 
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},gid=46,dmask=000,fmask=111,utf8"

# automount ntfs filesystems using ntfs-3g driver
ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", RUN+="/bin/mount -t ntfs-3g -o %E{mount_options} /dev/%k '/media/%E{dir_name}'"
# automount all other filesystems
ACTION=="add", ENV{ID_FS_TYPE}!="ntfs", RUN+="/bin/mount -t auto -o %E{mount_options} /dev/%k '/media/%E{dir_name}'"

# clean up after device removal
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l '/media/%E{dir_name}'", RUN+="/bin/rmdir '/media/%E{dir_name}'"

# exit
LABEL="my_media_automount_end"

コンピューターを再起動すると、このカスタムルールを使用してntfsドライブがマウントされます。マウントされたドライブのアクセス許可を変更するには、行を見て$env{mount_options},gid=46,dmask=000,fmask=111,utf8"、オプションgid=46はグループ権限(46(plugdev)ユーザーがマウントできるグループです)でntfsドライブをマウントする必要がありますUbuntuのドライブ)、fmaskおよびdmaskドライブ上のファイル/フォルダーの書き込み、作成、削除の設定。

必要に応じて変更してください。各タイプに応じて他のファイルシステムを自分で整理する必要がありますが、これで開始できます。

ルールのソースudev


これは私にも有効ですか?私はわずかに異なる環境を持っています:Linuxのみを使用し、削除が非常にうまく機能し、ゴミも存在するNFSマウントホームを持っていますが、reposローカルファイルシステムにディレクトリをシンボリックリンクしました/local/home/me/repos(高速です)。このディレクトリとサブディレクトリ内でのみ削除は機能しません。ディレクトリ/local/homeはルート755 /local/home/me/reposが所有していますが、ディレクトリはモダリティ700で私が所有しています。–
数学

質問:この行の値は:$env{mount_options},gid=46,dmask=000,fmask=111,utf8"<options>列内にも記述できますfstabか?それは同じですか?
Nearoo

8

ユーザーが非リムーバブルパーティションに保存されているファイルを削除できない場合(Ubuntu 14.04)

ブルーノペレイラが述べたように、この動作は、ユーザーがパーティションのマウントポイント(OPの場合、/ var)で書き込み権限を持っていないために発生し、ごみ箱のディレクトリを作成できません。

この場合、OPは/ varパーティションに保存されているごみ箱ファイルに移動できません。この問題を解決するには:

$ cd /var
$ sudo mkdir .Trash-1000
$ chown user:group .Trash-1000

次のものを交換する必要があります。

  • 1000 ユーザー識別子(ファイル/ etc / passwdでログイン名に続く番号を参照)
  • user:group それぞれログイン名とグループで

4

16.04に、同じ問題に遭遇しました。解決策は、ディスクを開き、NTFSパーティションをクリックします->下の小さな歯車アイコンをクリックし(追加のパーティションオプション)->「マウントオプションの編集」、行に「uid = 1000」(引用符なし、カンマ区切り)を追加しますマウントポイントの上(写真を参照)。ディスクユーティリティを使用したfstabマウントオプションの変更

ここで説明したように、元のユーザーでない場合、uidは端末からの「id」コマンドによって返される1000からの代替番号に設定する必要があります


0

ntfsパーティションをマウントするための行を/ etc / fstabに追加したときに、この問題が発生していました。nautilusでパーティションを「手動で」マウントした場合は存在しませんでした。

Ubuntuのドキュメントは、あなたがどのようなオウムガイの用途である、udisksを使用してディスクをマウントする必要があることを説明しています。

パーティションを自動的にマウントする手順の概要:

  1. 前提条件:パーティションをマウントし、mountコマンドを使用してその名前(/ dev / sdb1など)を見つけます。

  2. パーティションのuuidを取得します。uuidは->、このコマンドの前に表示されます。

    ls -al /dev/disk/by-uuid/

  3. マウントのコマンドは次のとおりです。

    /usr/bin/udisks --mount /dev/disk/by-uuid/<the uuid you found previously>

  4. スタートアップアプリケーションにこのコマンドを追加します


1
これは、NTFSパーティション内のファイルを実行させていない
アンワル

-1

GUIが好きな人のために、これをグラフィカルに解決する方法を次に示します。

  1. ターミナルにsudo apt-get install nemo入力sudo nemoして、昇格された権限で(インストールするために)nemoファイルエディタを開きます。[これはおそらくnautilusでも動作しますが、私はnemoでしかテストしていません]。
  2. ファイルが保存されているマウントされたデバイスを右クリックし、「プロパティ」に移動します。
  3. [権限]タブに移動し、[所有者]のドロップダウンメニューをクリックして、ユーザー名を選択します。すべてを閉じて、通常のファイルマネージャーに戻ります。
  4. デバイスの所有者として設定すると、そのデバイスでごみ箱が作成され、削除ボタンを押してファイルを自動的にごみ箱に移動できるようになります。

一般に、sudoを使用してGUIプログラムを実行することはお勧めできません。多くのことがうまくいかない可能性があります-たとえばnemo、初めて実行するとき、設定ファイルを書き込み、必要なディレクトリを作成します。これらはによって所有さrootれ、ユーザーは書き込みできません。そして、問題が気付くまでに時間がかかります- sudoコマンドは長い間忘れられているかもしれません。たとえば、最初の実行時にnemoディレクトリ~user/.local/share/nemo/scripts/を作成すると思います。
フォルカージーゲル

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