Saya membuat pintasan melalui opsi "buat tautan". Ketika saya masuk ke folder cara pintas ini, saya tidak bisa melihat folder di atasnya jadi saya tidak bisa menavigasi dengan mudah ke sana.
Apakah ada cara untuk membuka satu folder di GUI? Mungkin hotkey? (Tidak dapat melakukannya cd ..
saat ini ^ __ ^).
Di Windows misalnya saya memang bisa menavigasi dengan cara yang saya jelaskan, berikut adalah gambar Win10 yang menjelaskannya:
nautilus
symbolic-link
JohnDoea
sumber
sumber
Alt+up key
Jawaban:
Mengapa ini pertanyaan yang menantang
Pertanyaannya memiliki beberapa tantangan:
nautilus
tidak berkomunikasi langsung dari baris perintah, untuk mendapatkan direktori yang sedang aktif misalnya, Anda juga tidak dapat "mengirim" folder yang sedang dibuka (-window) ke direktori lain dari baris perintah."NAUTILUS_SCRIPT_CURRENT_URI"
, Nautilus tidak mengembalikan jalur nyata ke folder saat ini, tetapi "melihat" tautan seolah-olah itu adalah folder yang sebenarnya.Karena itu solusinya kotor seperti yang didapat; kita perlu mencari solusi. Di bawah empat opsi untuk mengatasi masalah ini.
1. klik kanan untuk naik satu tingkat
Untuk mendapatkan jalur nyata ke direktori saat ini, kita harus mengambil informasi dari tautan. Kita dapat melakukannya dengan menggunakan
ls -l
pada tautan, yang akan menampilkan misalnya:di mana bagian sesudahnya
->
adalah jalur nyata di dalam symlink, atau, menggunakanpython
:Dengan menggunakan ini dalam
nautilus
skrip, kita secara tidak langsung bisa mendapatkan jalur nyata ke file atau folder saat ini.Lalu jika kita memiliki jalan, bagaimana kita membuat nautilus naik satu tingkat ke atas?
Sekali lagi, kita tidak bisa menyelesaikan ini dan menjaga tangan kita tetap bersih. Untuk naik satu tingkat, pertama-tama kita mengedit sedikit path yang ditemukan, dari:
ke
kemudian, gunakan
xdotool
untuk mensimulasikan Ctrl+ L(pintasan GUI untuk menyisipkan jalur ke jendela nautilus, karena tidak ada opsi cli untuk pindah ke direktori lain menggunakan jendela saat ini ), dan kemudian membuatxclip
tempel jalur yang diedit + Enter, kami memiliki solusi yang berfungsi !Dalam praktek
Kami berada di folder, dibuka dari tautan ("Tautan ke Telegram") di Desktop saya. The nyata folder adalah sub folder dari saya
Downloads
folder:Lalu jika kita klik kanan pada salah satu file di dalam folder untuk menjalankan skrip:
Secara otomatis, jalur ke direktori superior dimasukkan:
Dan, juga secara otomatis, Returnditekan, dan kami memindahkan satu level direktori ke atas:
Naskah
Cara mengatur
Script membutuhkan keduanya
xdotool
danxclip
:buat, jika belum ada, direktori
Salin skrip di atas ke dalam file kosong, simpan sebagai
level_up
(tanpa ekstensi)~/.local/share/nautilus/scripts
, dan buat agar dapat dieksekusiSekarang Anda harus dapat menjalankan skrip dengan mengklik kanan pada file (apa saja)> skrip> level_up:
[ EDIT ] Saya mengubah skrip di atas untuk menempelkan path ke
nautilus
jendela, alih-alihxdotool
mengetiknya . Ituneeds
xclip
harus diinstal, tetapi ini merupakan peningkatan besar, terutama pada jalur yang sangat panjang.2. Atau, buka jendela nautilus baru di direktori superior
Anda dapat menghindari penggunaan
xdotool
, dengan membuat skrip membuka jendela nautilus baru , di direktori induk. Script akan lebih pendek:Dalam hal ini, Anda tidak perlu menginstal
xdotool
. Kami bahkan dapat memperluas skrip dengan menutup jendela asli dan menempatkan jendela baru tepat di posisi yang sama (& ukuran).Kelemahannya adalah bahwa sejarah jendela asli hilang dengan cara ini.
3. Solusi tambahan: cara alternatif untuk (secara otomatis) membuat tautan
Tidak relevan dengan tautan yang ada, tetapi ketika digunakan dari GUI, skrip nautilus untuk secara otomatis membuat
.desktop
file yang dapat dieksekusi pada klik kanan mungkin bermanfaat:klik kanan pada direktori untuk membuat pintasan (bertindak sebagai tautan)
Tidak seperti symlink, tautan ini akan membawa Anda ke folder yang sebenarnya, tanpa berperilaku sebagai folder itu sendiri:
Naskah
Cara Penggunaan
make_link
(tanpa ekstensi)~/.local/share/nautilus/scripts
, dan buat itu dapat dieksekusi.desktop
akan dibuat di direktori yang sama, pindahkan ke tempat lain jika perlu; jalur tertaut adalah absolut.Beri tautan ikon pembeda
Anda bisa memberi tautan alternatif ikon yang membedakan. Jika Anda mencari di dalam
/usr/share/icons
folder "folder", banyak pilihan yang valid muncul.Jika dalam skrip, baris
"Icon=folder",
diganti olehIcon=stock_folder-copy,
(gunakan nama ikon tanpa ekstensi), hasilnya pada sistem saya adalah:Tentu saja Anda dapat menggunakan ikon khusus Anda sendiri juga, tetapi jika Anda menggunakan jalur lengkap (jangan gunakan
~
), Anda harus menyertakan ekstensi ikon itu.4. Pindah ke direktori superior dengan tombol pintasan
Mungkin opsi yang paling nyaman; dengan jendela nautilus di depan, tekan tombol pintas untuk memindahkan satu direktori ke atas.
Naskah
Menggunakan
Untuk solusi ini, keduanya
xclip
danxdotool
Perlu berada di sistem Anda.Salin skrip ke file kosong, simpan sebagai
level_up.py
(di mana saja).Tambahkan ke tombol cara pintas: pilih: Pengaturan Sistem> "Keyboard"> "Pintasan"> "Pintasan Khusus". Klik "+" dan tambahkan perintah:
NB Opsi pintasan agak terbatas dalam hal ini, karena skrip itu sendiri akan mensimulasikanCtrl+L, danCtrl+Alt+Lakan membuat Anda keluar ...Ctrl+\bekerja dengan baik pada sistem saya.
Penjelasan
Skrip ini juga mensimulasikan Ctrl+ L, tetapi alih-alih menggunakan nautilus '
"NAUTILUS_SCRIPT_CURRENT_URI"
, skrip ini digunakanxclip
untuk menyalin jalur yang dipilih secara otomatis di jendela nautilus. Seperti opsi 1, skrip kemudian menghitung jalur nyata dan mendapatkan direktori superior.Opsi ini mungkin berguna jika Anda lebih suka papan ketik menggunakan klik kanan.
sumber
Atau untuk Ubuntu 14.04, nautilus 3.10-1, dengan
xdotool
paket yang ditambahkan, cukup gunakan yang berikut ini di.local/share/nautilus/scripts/updirtree
file Anda :Kutipan terakhir seharusnya hanya berisi baris baru atau return (
0x0a
). Thepwd
from dalam nautilus menghasilkan hasil yang berbeda dari ketika dijalankan dari bash / terminal - ia mengembalikan jalur yang sebenarnya, bukan jalur yang menggunakan tautan.Saya setuju itu tidak masuk akal, itu tidak berdokumen, dan saya bahkan tidak bisa mengetahui seperti apa lingkungan eksekusi yang menjalankan kode (saya tidak dapat menemukan shell yang menghasilkan hasil itu), tetapi ia bekerja. Ini adalah retasan, itulah sebabnya saya memasukkan versi nautilus. Siapa yang tahu berapa lama itu akan bekerja? Mungkin pecah pada peningkatan nautilus berikutnya (atau juru bahasa tidak dikenal), tetapi bagi saya, ini berfungsi pada tautan ke lokasi yang dipasang, tautan ke tempat-tempat di pohon direktori, atau hanya lokasi sederhana di pohon direktori.
sumber
$(pwd)
adalah direktori kerja shell , bukan nautilus . Lihat help.ubuntu.com/community/NautilusScriptsHowtoxclip
tempel path, yang tidak tergantung pada panjang path.Perbaikan bersih tetapi membutuhkan sumber untuk membangun kembali dengan mengembalikan komit ini :
Membangun instruksi:
Sumber unduhan:
Unduh dependensi build
Buat modifikasi dari tambalan di atas
Edit
src/nautilus-mime-actions.c
Bangun & pasang
Untuk menguji tanpa instalasi
Untuk menginstalnya
Ini akan membuat nautilus menyelesaikan tautan ke jalur target mereka. BTW, ini dilaporkan sebagai bug beberapa waktu lalu. Jika Anda pikir ini adalah fitur maka kirimkan laporan bug lain, meminta sakelar pengaturan atau pintasan spesifik untuknya.
Referensi: Bagaimana saya bisa menghentikan Nautilus dari symlink dereferencing? [Tutup]
sumber
/usr/local/bin/
, jadi sistem akan selalu menjalankan salinan yang dimodifikasi, seperti yang terdaftar di$PATH