Rar Özelliği Kayboldu

Pardus güncel sürüm, XFCE kullanıyorum.

Az evvel bir dosyayı sağtık>rar yapacaktım ki rar’ın listeden kaybolduğunu farkettim.

Güncellemelerden sonra olmuş olabilir.

Tekrar geri getirmem lazım, bu özellik bana lazım.

1 Beğeni

ÇÖZÜM:
Sağtık menüsüne “Rar ile sıkıştır” fonksiyonu ekleyebiliriz.

Terminali açın. Şu komutu girip entırlayın:

mousepad ~/bin/thunar_rar_compress.sh

Açılan boş dosyaya aşağıdaki kodun tamamını yapılştırın:

#!/bin/bash
# Bu betik Thunar Özel Eylemi tarafından çağrılır.
# Seçilen dosyayı/klasörü RAR formatında sıkıştırır ve başlangıçta bir bekleme mesajı gösterir.

LOG_FILE="/tmp/rar_debug_$(date +%Y%m%d%H%M%S).log"
# Tüm çıktıları (stdout ve stderr) bu log dosyasına yönlendir.
exec > "$LOG_FILE" 2>&1

# Başlangıçta kullanıcıya bir "Lütfen bekleyin..." mesajı göster
notify-send "RAR Sıkıştırma Başladı" "Sıkıştırıyor, bekleyin..."

echo "--- RAR Sıkıştırma Hata Ayıklama Başlangıcı ---"
echo "Çalışma Dizini (PWD - Betik Başlangıcı): $(pwd)"
echo "Thunar %f değişkeni (Seçilen ilk dosya/dizin yolu): '$1'"
echo "Tüm argümanlar (Thunar %F'den): '$@'"
echo "Argüman Sayısı: $#"

if [ "$#" -eq 0 ]; then
    echo "HATA: Sıkıştırılacak hiçbir öğe seçilmedi."
    notify-send "RAR Hatası" "Sıkıştırılacak hiçbir öğe seçilmedi!"
    exit 1
fi

# İlk argümanın (seçilen ilk dosya/klasörün) dizinini bul
TARGET_DIR=$(dirname "$1")
echo "Hedef Dizin (TARGET_DIR): '$TARGET_DIR'"

# Hedef dizine geçiş yap
cd "$TARGET_DIR" || { echo "HATA: Dizin değiştirilemedi: $TARGET_DIR"; notify-send "RAR Hatası" "Hedef dizine geçilemedi!"; exit 1; }
echo "Yeni Çalışma Dizini (PWD - cd sonrası): $(pwd)"

# Sıkıştırılacak dosyaların/klasörlerin sadece isimlerini içeren bir liste oluştur
COMPRESS_ITEMS=()
for item_path in "$@"; do
    COMPRESS_ITEMS+=("$(basename "$item_path")")
done

echo "Sıkıştırılacak Öğeler (COMPRESS_ITEMS): ${COMPRESS_ITEMS[*]}"

# RAR hedef dosya adını oluştur
FIRST_ITEM_BASENAME=$(basename "$1" | sed "s/^['\"]*//;s/['\"]*$//;s/\.[^.]*$//")
RAR_TARGET_NAME="${FIRST_ITEM_BASENAME}.rar"
echo "Oluşturulacak RAR Dosya Adı (RAR_TARGET_NAME): '$RAR_TARGET_NAME'"

# RAR komutunu çalıştırma
# -m5: Maksimum sıkıştırma
# -ep: Arşive tam yolları değil, sadece dosya/klasör isimlerini ekler (gereksiz home/kullanici/ yollarını engeller).
rar a -m5 -ep "$RAR_TARGET_NAME" "${COMPRESS_ITEMS[@]}"

RAR_EXIT_STATUS=$?
echo "RAR Komutu Çıkış Durumu: $RAR_EXIT_STATUS"
if [ $RAR_EXIT_STATUS -ne 0 ]; then
    echo "HATA: RAR komutu başarısız oldu (Çıkış Kodu: $RAR_EXIT_STATUS)"
    notify-send "RAR Sıkıştırma Hatası" "Sıkıştırma işlemi başarısız oldu. Detaylar için log dosyası: $LOG_FILE"
else
    notify-send "RAR Sıkıştırma Başarılı" "Dosyalar başarıyla sıkıştırıldı: $RAR_TARGET_NAME"
fi

echo "--- RAR Sıkıştırma Hata Ayıklama Sonu ---"

Kaydedip çıkın.

Bu betiği çalıştırılabilir yapın:

chmod +x ~/bin/thunar_rar_compress.sh

Thunar dosya yöneticisini açın, Düzenle menüsünden Özel Eylemleri Yapılandır’a gelin.

“artı” düğmesiyle yeni bir fonksiyon penceresi açın ve şunları doldurun:

Ad: Rar ile sıkıştır
Tanım: Seçilen dosya veya klasörleri RAR arşivine sıkıştırır (maksimum sıkıştırma)
Komut: ~/bin/thunar_rar_compress.sh %F

Tamam diyerek çıkın.

Test edin. Masaüstünde ve klasörlerde, tek bir klasör, tek bir dosya; birden fazla klasör ve dosya karışık olacak şekilde sıkıştırma testleri yapın.

Bu kadar.

1 Beğeni