Ketika saya ssh ke komputer OS X di jaringan saya, sesi berlangsung hingga OS X masuk ke mode tidur .
Apakah ada cara untuk mencegah hal ini terjadi selama sesi SSH saya , selain menabrak mouse atau mengetik secara fisik, atau menonaktifkan fungsi tidur secara manual?
Sunting: Ssh sesi biasanya akan menjadi sshfs sederhana.
ssh
osx
power-management
Stefan
sumber
sumber
Jawaban:
Ini bukan solusi out-of-the-box tetapi mungkin akan bekerja jika tidak ada orang lain yang memberikan solusi :-)
Anda dapat memanipulasi pengaturan manajemen daya dengan perintah
pmset
. Lihat halaman manual untuk informasi lebih lanjut tentangnya.Pengaturan menarik yang ingin kita manipulasi adalah tidur :
Jadi kita bisa menggunakan perintah berikut:
Sekarang kita harus memicu perintah ini setelah login dan logut. Jika saya ingat hak ini, Bash adalah shell default untuk Mac OS X yang membawa kita ke dua file ini:
Edit atau buat di direktori home Anda dan tambahkan perintah yang sesuai. Jika Anda mau, simpan nilai sleep saat ini dalam file sementara dan kembalikan setelahnya.
Masalah terakhir yang harus dipecahkan adalah prompt kata sandi sudo. Untuk memberi pengguna Anda izin untuk memanggil pmset tanpa kata sandi, edit / etc / sudoers Anda dengan sudoedit. Anda harus menggunakan
NOPASSWD
tag. Jika ini baru untuk Anda, lihat manual sudoers .sumber
Ini memungkinkan saya untuk menggunakan mac saya melalui SSH tidak peduli apa pun, selama mac terhubung ke sumber daya.
Semuanya akan mati ketika mac mati dari sumber listriknya, sehingga Anda tidak perlu khawatir tentang masa pakai baterai.
sumber
Utilitas pmset bawaan OS X memiliki pengaturan yang dapat melakukan apa yang Anda inginkan. Periksa halaman
pmset
manual untukttyskeepawake
pengaturan dan penjelasan yang menyertainya.Perintah berikut mungkin akan melakukan apa yang Anda inginkan:
The
-c
flag membuat pengaturan ini aktif khususnya ketika komputer berjalan pada listrik AC (sebagai lawan baterai atau listrik UPS), danttyskeepawake 1
mencegah komputer dari tidur selama sesi tty aktif (mungkin satu remote). Ini akan memungkinkan tidur jika sesi tidak aktif lebih lama dari pengatur waktu tidur, tetapi jika itu masalah, mungkin komputer seharusnya tidak disetel untuk tidur sama sekali.sumber
Untuk menggunakan SSH untuk membuka shell pada mesin OSX jarak jauh dan mencegahnya tidak tidur selama sesi SSH:
sumber
Sejak Mac OS X 10.8, Anda harus dapat menggunakan
caffeinate(8)
perintah.Coba
caffeinate -s ssh server.example.com
.sumber
Saya menambahkan skrip berikut di
.bash_profile
Jika prosesnya adalah anak langsung dari daemon ssh, jalankan shell yang sama melalui perintah caffeinate (8) untuk mencegah sistem dari tidur selama sesi ssh.
sumber
Pencarian web untuk mencegah mac muncul dengan banyak informasi bagus tentang utilitas dan trik yang dapat Anda gunakan.
Namun, dalam situasi Anda, saya menduga bahwa apa yang benar-benar ingin Anda lakukan adalah memiliki sesi ssh terpisah yang menjalankan program baris perintah yang sangat sederhana yang mencegah Mac dari tidur. Apple memberikan kode sumber lengkap di T&J Teknis 1160: Mencegah tidur . (Sayangnya, halaman ini rusak di situs Apple saat ini, tetapi Anda dapat mengambil salinan dari cache Google.)
Saya belum diuji untuk melihat apakah program ini dapat dijalankan dengan sukses dari sesi ssh, tetapi sepertinya bisa.
Perhatikan bahwa implementasi sshfs biasanya tidak tetap masuk ke sistem jarak jauh sepanjang waktu, dan jalankan sesi ketika mereka menginginkan file atau direktori. Jadi Anda perlu sesi ssh terpisah, berjalan di jendela terminal yang diperkecil, untuk menjalankan program insomnia.
Keuntungan dari pendekatan ini adalah Anda tidak perlu menggunakan sudo, atau mengacaukan pengaturan manajemen daya sistem.
sumber