OS X: ssh oturumu sırasında bilgisayarın uykudan nasıl korunmasını sağlar


29

Ağımdaki bir OS X bilgisayarına girdiğimde oturum OS X uyku moduna geçene kadar devam ediyor .

SSH oturumum sırasında , fiziksel olarak fareyi çarpmaktan veya tuşları yazmaktan veya uyku işlevini manuel olarak devre dışı bırakmak dışında bunun olmasını engellemenin bir yolu var mı ?

EDIT: ssh oturumu normalde basit bir sshfs dağı olacaktır.


SSH oturumunuzdan önce uyumasını da istemez miydiniz ?
SamB

Yanıtlar:


9

Bu kullanıma hazır bir çözüm değil, ancak başka hiç kimse bir çözüm bulamazsa işe yarayacak :-)

Güç yönetimi ayarlarını komutla değiştirebilirsiniz pmset. Bu konuda daha fazla bilgi için kılavuz sayfasına bakınız .

Değiştirebildiğimiz istiyoruz ilginç ayardır uyku :

uyku - sistem uyku zamanlayıcısı (dakika cinsinden değer veya devre dışı bırakmak için 0)

Böylece aşağıdaki komutları kullanabiliriz:

sudo pmset sleep 25      # go to sleep after 25 minutes
sudo pmset sleep 0       # disable sleep

Şimdi bu komutları bir oturum açtıktan ve oturumu kapattıktan sonra tetiklemeliyiz. Bunu doğru hatırlıyorsam, Bash, bizi bu iki dosyaya getiren Mac OS X için varsayılan kabuktur:

   ~/.bash_profile
          The personal initialization file, executed for login shells
   ~/.bash_logout
          The individual login shell cleanup file, executed when a login shell exits

Bunları giriş dizininizde düzenleyin veya oluşturun ve uygun komutları ekleyin. İsterseniz, geçerli uyku değerini geçici bir dosyaya kaydedin ve daha sonra geri yükleyin.

Çözülmesi gereken son sorun sudo'nun şifre istemidir. Kullanıcınıza şifre olmadan pmset'i çağırma izni vermek için, / etc / sudoers komutunu sudoedit ile düzenleyin. NOPASSWDEtiketi kullanmanız gerekir . Bu sizin için yeniyse , sudoers kılavuzuna bakın .


1
ssh bağlantısı sadece bir sshfs bağlantısı olsaydı bu yöntem işe yarar mıydı?
Stefan

1
Emin değilim, ama sshfs'in bir giriş kabuğu açacağını sanmıyorum, bu yüzden bu sshfs ile çalışmayacak.
echox

9

Bu, ne olursa olsun, mac bir güç kaynağına bağlı olduğu sürece mac'umu SSH üzerinden kullanmamı sağladı.

Sistem Tercihleri, Enerji tasarrufu, Ekran kapalıyken bilgisayarın otomatik olarak uyumasını önleme

Mac güç kaynağından çıktığında her şey kapanır, böylece pil ömrü konusunda endişelenmenize gerek kalmaz.


1
Bu seçenek macOS Sierra'da işe yaramaz. İMac'im bu ayardan bağımsız olarak uyur, SSH erişimini başlatır ve ardından SSH oturumu kapattıktan hemen sonra uyur. Bu gerçekten sinir bozucu.
Bruno Philipe

Bu cevap nihayet bir Mojave iMac üzerinde saatlerce ~ / .ssh / config ile
uğraşırken sorunumu çözdü

6

OS X'in yerleşik pmset yardımcı programı, istediğinizi yapabilecek bir ayara sahiptir. Ayar ve beraberindeki açıklama için pmsetkılavuz sayfasına bakınız ttyskeepawake.

Aşağıdaki komut muhtemelen istediğinizi yapar:

sudo pmset -c ttyskeepawake 1

-cBayrak bu ayarı (pil veya UPS güç aksine) bilgisayar AC gücüyle çalışıyorsa, özellikle aktif ve yapar ttyskeepawake 1önler aktif tty oturumu (muhtemelen uzak bir) sırasında uyku bilgisayar. Bu olacak oturumu uyku zamanlayıcı daha uzun süre etkin olmadığında uyku sağlar, ancak bu bir sorun olmadığını, belki bilgisayar hiç uyku ayarlı olmamalıdır.


6

Uzak bir OSX makinesinde bir kabuk açmak için SSH'yi kullanmak ve SSH oturumu süresince uyumasını önlemek için:

$ ssh -t me@mymacbook caffeinate -i bash

5

Mac OS X 10.8'den bu yana, caffeinate(8)komutu kullanabilmeniz gerekir .

Dene caffeinate -s ssh server.example.com.


9
OP, uzak Mac'in (yani ssh sunucusunun) uyumasını engellemeye çalışıyor . Hatalı olmadığım sürece, örneğin yalnızca müşterinin terminalinde uyumayı önleyecektir.
Owen

3

Aşağıdaki betiği ekledim .bash_profile

if expr "$(ps -o comm= $PPID)" : '^sshd:' > /dev/null; then
  caffeinate -s $SHELL --login
  exit $?
fi

İşlem bir ssh arka planının doğrudan çocuğuysa , sistemin ssh oturumu sırasında uyumasını önlemek için kafein (8) komutuyla aynı kabuğu çalıştırın .


2

Mac için yapılan bir web araması, uykuyu önler , kullanabileceğiniz yardımcı programlar ve püf noktaları hakkında birçok iyi bilgi sunar.

Ancak, sizin durumunuzda, gerçekten yapmak istediğiniz şeyin, Mac'in uyumasını engelleyen çok basit bir komut satırı programını çalıştıran ayrı bir ssh oturumu yapmak olduğundan şüpheleniyorum. Apple, Teknik Sorular ve Cevaplar 1160: Uyku önleme bölümünde tam kaynak kodunu verir . (Ne yazık ki, bu sayfa şu anda Apple'ın sitesinde bozuk, ancak Google’ın önbelleğinden bir kopyasını çıkarabilirsiniz.)

Bu programın bir ssh oturumundan başarılı bir şekilde çalıştırılıp çalıştırılamayacağını test etmedim, ancak görülebilecek gibi görünüyor.

Sshfs uygulamalarının genellikle uzaktaki sistemde sürekli oturumda kalmadığını ve bir dosya veya dizin istediklerinde bir oturum çalıştırdığını unutmayın. Bu yüzden uykusuzluk programını çalıştırmak için simge durumuna küçültülmüş bir terminal penceresinde çalışan ayrı bir ssh oturumuna ihtiyacınız var.

Bu yaklaşımın avantajı sudo kullanmanıza veya sistem güç yönetimi ayarlarıyla uğraşmanıza gerek kalmamasıdır.

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.