Dalam komentar Anda tentang jawaban si kembar, Anda mengatakan itu tidak berfungsi saat menggunakan screen.
Bisakah Anda menguraikan itu? Melihat kode sumber untuk openssh, sshd mengeksekusi perintah dengan memanggil
YOUR_DEFAULT_SHELL -c COMMAND
Jadi, misalnya, jika shell default Anda adalah screen, maka ini tidak akan bekerja semua yang baik karena screen's -cbendera hanya menimpa nya .scrreenrc. Jadi, sebenarnya tidak ada cara untuk mengirim perintah ke layar jika itu adalah shell default Anda. Anda harus benar-benar menjalankan layar sebagai perintah yang diberikan kepada ssh, tetapi dengan shell default yang bukan layar .
Jika itu yang Anda coba lakukan, saya pikir semuanya akan menjadi sangat aneh, karena screenjuga akan menutup jendela dengan program non-interaktif, jadi Anda harus melakukan trik yang mirip dengan sirip, tetapi satu tingkat lebih dalam. SO, dengan, misalnya / bin / bash (dan bukan layar) sebagai shell default Anda Sesuatu seperti:
ssh user@host -t 'screen bash -l -c "ls;bash"'
Yang seharusnya - mengambil napas dalam-dalam - ssh ke host, jalankan bash -c dengan perintah layar, yang akan membuat jendela baru. Jika jendela ini hanya terbuka ls, itu akan berakhir, dan layar akan berakhir, jadi kami menggunakan trik fons di dalam jendela layar baru .
Saya pikir itu akan berhasil, jika itu yang Anda coba lakukan;)