Komut satırı ve grafik dosya tarayıcısının iyi bir kombinasyonu var mı?


15

Bir komut satırı ve grafik dosya tarayıcısının avantajlarını birleştirmekten daha uygun bir çözüm var mı?

Örneğin, komut satırı dizini değiştirmek ve komutları yürütmek için iyidir, ancak küçük resimleri gösteremez ve dosya tarayıcı sezgiseldir, ağacın neresinde olduğunuz hakkında iyi bir genel bakış sağlar, ancak komut satırında olduğu gibi.

EDIT: benim için bir komut satırı kullanıcısı olarak, bazı komut satırı özelliklerine sahip bir dosya tarayıcısına sahip olmaktan ziyade ek dosya tarayıcı özelliklerine sahip bir komut satırına ihtiyaç duymaya benzer.

Yanıtlar:


9

Dolphin aradığınız şeye benziyor:

Ancak terminal, dizin navigasyonunun bir kölesidir (GUI'deki dizini değiştirirseniz, terminalde değişir, ancak tersi değil).

Terminaldeki geçerli dizini değiştirdiğinizde uygulama dizinini değiştirmek için kabuğunuzun Dolphin'e görünümünü güncellemesi için bir mesaj göndermesini sağlayabilirsiniz. Bunu kabuk rc dosyalarınıza ekleyin ( Uyarı: ayrıntılı olarak test edilmemiştir, ancak burada en yaygın durumlar için çalışır, kendi sorumluluğunuzdadır kullanın):

Bash:

if [ -n "$KONSOLE_DBUS_SERVICE" ]; then
  if qdbus "$KONSOLE_DBUS_SERVICE" /dolphin >/dev/null 2>&1; then
    cd() {
      builtin cd "$@"
      qdbus "$KONSOLE_DBUS_SERVICE" /dolphin/MainWindow0 org.kde.dolphin.MainWindow.changeUrl "$PWD" >/dev/null
    }
  fi
fi

zsh:

if [ -n "$KONSOLE_DBUS_SERVICE" ]; then
  if qdbus "$KONSOLE_DBUS_SERVICE" /dolphin >/dev/null 2>&1; then
    chpwd() {
      qdbus "$KONSOLE_DBUS_SERVICE" /dolphin/MainWindow0 org.kde.dolphin.MainWindow.changeUrl "$PWD" >/dev/null
    }
  fi
fi

Bununla ilgili bir sorun var. Dolphin penceresi geçerli dizini değiştirdiğinde, terminal odağı kaybeder. İsterseniz geliştiricilere bir hata düzeltmesi (veya bu özellik için tam yerel destek) isteyebilirsiniz.


Ne yazık ki dizinleri komut satırından değiştirmek benim için önemli özelliklerden biri.
dStulle

@ dStulle: Dizini değiştirmek için klavyeyi kullanmak istiyorsanız Ctrl-L, imlecin adres çubuğuna atlamasını sağlamak için Dolphin yazabilirsiniz , burada yeni dizinin adresini yazabilir ve bu klasöre Entergitmek için tuşuna basabilirsiniz . cdKomut satırına gerçekten yazmak istiyorsanız qdbus, iletiyi org.kde.dolphin.MainWindow.changeUrl($PWD)Dolphin'e geri göndermek için yürütülen bir hack yapabilmeniz gerekir . Ama bence denemelisiniz, çoğunlukla yeni bir GUI-Terminal entegrasyonu paradigmasına alışıyor.
Juliano

konumu "yazmak" değil, komut satırında "olmak" ile ilgilidir. qdbus çok güzel ve bunun için çalışabilir, ancak Terminal'i yunus örneğine nasıl bağlayacağını bulamadı. birden fazla Yunus penceresi açıksa, hangisini değiştireceğinizi belirleyemediğiniz anlaşılıyor ve aynı zamanda geçerli komut satırı dizinini değiştirmek için takma ad, komut dosyası veya işlev de bulamadım. EDIT: ben çalışırken başka birinin yaptığı gibi görünüyor ...
dStulle

Dolphin servisi terminalde $ KONSOLE_DBUS_SERVICE env değişkeninden görülebilir. Aynı Dolphin örneğine sahip iki pencereniz varsa bu gerçek bir sorundur. Aralarında nasıl ayrım yapacağımı gerçekten bilmiyorum. $ KONSOLE_DBUS_SESSION var, ancak yunus penceresine değil, sadece konsole oturumuna bağlanıyor. Her neyse, bu özelliği Dolphin geliştiricilerine önermelisiniz, yarısı yukarıda uygulanmıştır.
Juliano

Açıklığa kavuşturmak için: Dolphin'in eksik olduğu şey: (1) changeUrl () çağrıldığında odağı terminal widget'ından almayın ve (2) terminalin hangi pencerenin eklendiğini söyleyen bir ortam değişkeni; mesajı doğru pencereye.
Juliano

4

Gnome Commander , altta bir kabuk komut satırı satırı olan bir dosya yöneticisidir. Geceyarısı Komutanı (mc) benzer, ancak metin modunda. (Her ikisi de ilhamlarını Norton Commander'dan alır .)


ne yazık ki komut satırı ve gerçek bir dosya-küçük resim-önizleme için önemli [tab] -auto-complete işlevinden yoksun gibi görünüyor.
dStulle

Ctrl-O, Midnight Commander'da bir mermiye düşecek ve Ctrl-Enter seçilen öğenin adını komut satırına yerleştirecektir. [Tab] otomatik tamamlama ile aynı değil, oldukça yakın.

3

Nautilus Terminali , Nautilus (Gnome'un dosya yöneticisi) için bir eklentidir.

Dizinleri komut satırını uymayan, ama bunu yapmak için makul çabuk pwd | xclip, <Ctrl> +<l>,<Ctrl>+<v>


Ayrıca güzel ama belirtildiği gibi, dosya tarayıcısı da komut satırını takip etmiyor. Ayrıca yeni dizine "cd" gibi görünmüyor, ancak yeni bir bash örneği başlatılıyor. Ve "ctrl-a" gibi bazı kısayollar komut satırında değil dosya tarayıcısında etkilidir.
dStulle


0

Aşağıda, yunus + qdbus + terminali kullanılarak @Juliano'nun cevabının bir varyasyonu bulunmaktadır (kod snippet'ini biçimlendirmek için bir yorum yerine bir yanıt olarak buraya eklenmiştir.) Bu varyasyonun da sınırlamaları vardır ve kesinlikle bir hack'tir.

Bu ayrıca "yunus" un bağlı bir terminali çalıştırdığını varsayar (görünüm> paneller> terminal; veya "F4" e basın). Diğer teklif gibi, gui'deki yolu konsoldaki PWD ile eşleştirmek için yunuslara bir komut gönderir. Terminali odağı tutmaya zorlamak için xte (xautomation) kullanarak terminal penceresine bir yakın / açık (f4 + f4) gönderir: yani, odağı yeniden kazanması için terminali otomatik olarak kapatır ve hemen yeniden açar.

if [ -n "$KONSOLE_DBUS_SERVICE" ]; then
  if qdbus "$KONSOLE_DBUS_SERVICE" /dolphin >/dev/null 2>&1; then
    cd() {
      [ "$1" != "$PWD" ] && do_send=true || do_send=false;
      builtin cd "$@"
      if $do_send ; then
        qdbus "$KONSOLE_DBUS_SERVICE" /dolphin/MainWindow0 org.kde.dolphin.MainWindow.changeUrl "$PWD" >/dev/null 2>&1
        xte 'key F4' >/dev/null > /dev/null 2>&1 
        xte 'key F4' >/dev/null > /dev/null 2>&1 
      fi
    }
  fi
fi

Ana sorun (terminal kapanırken / yeniden açılırken hafif titremenin yanı sıra) yunusun (bazı nedenlerden dolayı) bir "kontrol + c" artı "cd {dir}" (burada "dir" dosyanın yolu olduğu yazın) terminalin her açılışında, yazılan diğer komutlara müdahale ederek terminalin içine girin. (Düzenleme: kesmek için kesmek eklemek için, bunun için başka bir geçici çözüm olarak: alias ccd=cd bu kontrol + c'nin "c" karakteri her zaman a'nın önüne eklenmiş gibi görünüyor cd {path}...)

Elbette, yunusta uygun bir düzeltme yapmak, terminalin odaklanmasını sağlamak ve / veya tüm özelliği yunus içine yerleştirmek daha iyi olurdu.

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.