Ekranımı komut satırından kapatmak mümkün olmak istiyorum.
Klavye kısayolu ctrl+ ⇧+ olduğunu biliyorum, ⏏ancak bir kabuk komut dosyasından veya uzaktan yapmak istiyorum.
Bir yolu var mı?
Ekranımı komut satırından kapatmak mümkün olmak istiyorum.
Klavye kısayolu ctrl+ ⇧+ olduğunu biliyorum, ⏏ancak bir kabuk komut dosyasından veya uzaktan yapmak istiyorum.
Bir yolu var mı?
Yanıtlar:
OS X 10.9'da basitçe yapabilirsiniz pmset displaysleepnow
. Bu, ayarlarınızı değiştirmeden veya tüm ana bilgisayarı uyku moduna geçirmeden ekranı hemen kapatır.
Yükseltilmiş ayrıcalıklar gerekli görünmüyor (en azından OS X'in son sürümleriyle), ancak yetersiz ayrıcalıklar hakkında bir mesaj alırsanız, başarabilirsiniz sudo pmset displaysleepnow
.
Yorum yapanların geri bildirimlerine dayanarak, bu OS X 10.8 veya daha önceki sürümlerde mevcut değildir.
Ekranı doğal olarak uyuyacak bir komut bulamamama rağmen indireceğiniz bir uygulama var. Buradan iki seçenek var.
Uygulamayı Uygulamalar klasörüne ve Terminal veya SSH çalıştırmasından yükleyin open /Applications/Sleep\ Display.app
İndirilenler klasöründen uygulamaya sağ tıklayın ve "Paket İçeriğini Göster" i tıklayın. Contents/MacOS
Sleepdisplay dosyasına gidin ve kopyalayın.
Gezin /usr/bin
( ⇧+ ⌘+ Gkısayolunu kullanabilir ve dizini girebilirsiniz ) ve ikili dosyayı yapıştırın. Şimdi komutu sleepdisplay
Terminal'e veya SSH'ye yazabileceksiniz ve ekran hemen uykuya geçecektir.
Bu yardımcı olur umarım!
İşte yapacak basit bir kabuk betiği.
#!/usr/bin/env bash
open /System/Library/Frameworks/ScreenSaver.framework/Versions/A/Resources/ScreenSaverEngine.app
Bu, o bilgisayarda Ekran Koruyucu için etkinleştirdiğiniz ayarları çalıştırır / başlatır.
Aşağıdaki komut dosyası işi yapacak (Leopard ve sonrasında), ancak bununla çalışılması gerekir sudo
:
Öngörü, pmset
ekran uykuya geçene kadar bir süre ayarlayabilmektir, ancak sorun, gecikmeyi sıfıra ayarlamak yerine 0 değerinin özelliği kapatması ve 1 değerinin tam bir dakikalık gecikme olmasıdır. Buradaki sihir, 2 ^ 31 değerinin, negatif olarak "ekranı hemen kapat" olarak işlev gören negatif sıfır olarak kaydedilmiş gibi görünmesidir.
Tiger ve önceki sürümlerde, farklı bir sihirli sayıya ihtiyaç vardı, çünkü ekran kapanana kadar dakikalar içinde gecikmeyi saklamak için dahili olarak farklı bir bit büyüklüğü değişkeni kullanıldı.
Bu taklit davranışı control- shift- ejectve bir olmadan MacBook havalandırır kullanılabilir ejecttuşu.
#!/bin/bash
original_setting=`/usr/bin/pmset -g | /usr/bin/awk '/displaysleep/ {print $2}'`
magic_number=2147483648
/usr/bin/pmset -a displaysleep $magic_number; sleep 1; /usr/bin/pmset -a displaysleep $original_setting
macOS'da Sierra
pmset displaysleepnow
caffeinate -u -t 1
pmset -g powerstate IODisplayWrangler | tail -1 | cut -c29
<4 sonuçları uyuyan bir ekranMac'inizin ekran durumunu uzaktan ayarlamak için küçük bir düğüm HTTP sunucusu: https://github.com/ycardon/switch-api
"echo $[$(pmset -g powerstate IODisplayWrangler | tail -1 | cut -c29) - 4]"
( bunu true / false olarak mı kullanıyorsunuz "ekran açık?").
Ekranı uyku moduna geçiren kısa bir AppleScript çalıştırmak için aşağıdaki komutu çalıştırın:
osascript -e 'tell application "System Events" to sleep'
Komut adı, bazı durumlarda tüm sistemin uyku moduna geçebileceğini öne sürüyor , ancak bunun sınırlı bir testte yapılmasını sağlayamadım: Bu komutu çalıştırmadan kısa bir süre önce başlattığım bir kabuk betiği ile test ettim ve birkaç Ben sistemi "uyandı" kadar dakika. Tüm zaman boyunca çıktı yazdırmaya devam etmişti.
Gerçekten, bu cevabın dayak izi dışında olmadığını umuyorum. En sevdiğim yol uyku, yeniden başlatma, kapatma - ve en önemlisi kilitleme - Mac, Alfred (uygulama başlatıcısı) kullanıyor.
Herhangi bir komut dosyası, komut dosyası bilgisi veya mükemmel olan terminal kullanımı gerektirmez.
Bununla birlikte, özellikle terminali kullanmak istiyorsanız, bu muhtemelen sizin için bir çözüm değildir.
Evet, bu eski bir sorundur, ancak görünen o ki bu soru için hiçbir yerde gerçekten iyi cevaplar yok.
Çalışması için bir AppleScript aldım, ancak üçüncü taraf, bakımsız ve kayıt altına alınamayan bir uygulama gerektiriyor - Extra Suites. Geliştiricinin eski web sitesinden indirilebilir .
# Gets the current state of the upper left hot corner, then sets it to sleep display.
tell application "System Events"
tell expose preferences
set givenActivty to get the activity of the top left screen
set the properties of the top left screen corner to {activity:sleep display}
end tell
end tell
# Uses Mouse to Activate upper left hot corner. [Moving directly to {0, 0} does not work
tell application "Extra Suites"
ES move mouse {1, 1}
ES move mouse {0, 0}
end tell
# Restores state of upper left hot corner.
tell application "System Events"
tell expose preferences
delay 1
set the activity of the top left screen corner to givenActivty
end tell
end tell
# Gets rid of Extra Suites nag window.
tell application "Extra Suites"
quit
end tell
Ayrıca bunu Alfred Workflow'a dahil ettim .
Hadi bakalım -
sudo su
pmset displaysleepnow
Alfred'i (AppStore'da ücretsiz) kullanmak, ekranı yalnızca yazarak uyku moduna geçirmek için harika bir yoldur: "uyku". Bundan daha basit olamaz.
Elbette Alfred bundan çok daha fazlasını yapar, ayrıca yeniden başlayabilir, çıkış yapabilir, boş çöp kutusu, kilitleme, kapatma ve daha birçok şey yapabilirsiniz.
Ek uygulamaya gerek yok, sadece kullanın tell application "Finder" to sleep
Uygulamaya Launchbar, Alfred gibi eşit derecede çalışır. Benim durumumda CMD boşluk çubuğu sonra S [Uyku] - basit ve hızlı