Saya menggunakan gelandangan melalui ssh untuk mengakses file jarak jauh. Untuk file teks, ini berfungsi dengan sangat baik, tetapi setiap kali saya ingin menyalin file jarak jauh yang lebih besar ke mesin lokal saya, tramp menggunakan metode inline lambat (penyandian file dengan gzip). Ini jauh lebih lambat daripada menggunakan metode eksternal seperti misalnya scp. Bagaimana cara membuat emacs menggunakan scp saat mentransfer file besar?
Informasi yang relevan:
Saya menggunakan file ~ / .ssh / config untuk mengakses mesin remote. Alias untuk mesin itu adalah hehi09 di bawah ini. Aksesnya tanpa kata sandi
Pesan di buffer pesan saat mentransfer:
Copying /ssh:hehi09:/home/christian/big_file.dat to /home/christian/big_file.dat'... Tramp: Inserting `/ssh:hehi09:/home/christian/big_file.dat'... Tramp: Encoding remote file `/ssh:hehi09:/home/christian/big_file.dat' with `(gzip <%s | base64)'...
Nilai dari:
nilai tramp-copy-size-limit adalah 10240 (jauh lebih kecil dari ukuran file yang diuji)
nilai tramp-default-method adalah "scp"
$ scp hehi09:/home/christian/big_file.dat ~/
berfungsi seperti yang diharapkan dari baris perintah dan jauh lebih cepat daripada transfer di emacs
Adakah ide mengapa emacs tidak menggunakan scp untuk menyalin file besar? Setiap bantuan sangat dihargai!
scp
metode default Anda. Bahkan kemudian, Tramp menyalin file kecil melaluissh
, dan file besar viascp
. Anda dapat menyesuaikan batas melaluitramp-copy-size-limit
./scp:host:/path/to/file
atau/ssh:host:/path/to/file
.Karena Anda harus mengaturnya dalam
~/.emacs
file. Meskipun demikian, Emacs adalah editor teks, bukan klien SFTP atau FTP, ia menggunakanbase64
pengkodean ini sementara dalamssh
metode yang ternyata terlalu lambat untuk transfer file.sumber
ssh
Anda benar bahwabase64
konversi sedang berlangsung yang lambat untuk file besar. Namun, jika Anda menggunakannyascp
bukan itu masalahnya. Emacs mampu mengeksekusi perintah yang tidak berhubungan dengan "teks". Terakhir, jangan bagi pengguna Emacs bahwa OS favorit mereka adalah editor teks;)scp
danbase64
konversi terus terjadi. Akan sangat dihargai jika itu tidak terjadi, setelah itu kemungkinan akan menjadi aplikasi utama untuk koneksi SFTP. Meskipun digunakan sebagai editor teks utama dan manajer file.scp
metode, tanpabase64
konversi, mengubahnya lebih cepat.scp
tidak menggunakanbase64
pengkodean. Bisakah Anda dengan cepat berbagi masalah yang ada dalam kasus Anda untuk siapa saja yang mampir di sini di masa depan?TRAMP
dired
koneksi terbuka melaluissh
, kemudian menjalankanscp
perintah, yang mematuhibase64
konversi. Ketika menjalankan keduaTRAMP
dired
koneksi dan menyalin perintah itu sendiri baik denganscp
metode, itu mengabaikanbase64
konversi dan melakukan lebih cepat.