Saya ingin dapat mematikan layar saya dari baris perintah.
Saya tahu ada pintasan keyboard ctrl+ ⇧+ ⏏tapi saya ingin melakukannya dari skrip shell atau dari jarak jauh.
Apakah ada cara?
terminal
sleep-wake
screen
gregseth
sumber
sumber
Jawaban:
Di OS X 10.9, Anda cukup melakukannya
pmset displaysleepnow
. Ini akan segera mematikan tampilan Anda tanpa mengubah pengaturan Anda atau membuat seluruh host tidur.Peningkatan hak istimewa tampaknya tidak diperlukan (setidaknya dengan versi terbaru OS X), tetapi jika Anda mendapatkan pesan tentang hak istimewa yang tidak memadai, Anda bisa melakukannya
sudo pmset displaysleepnow
.Berdasarkan umpan balik dari komentator, ini tidak tersedia di OS X 10.8 atau sebelumnya.
sumber
Meskipun saya belum dapat menemukan perintah yang akan mengaktifkan tampilan asli, ada aplikasi yang Anda unduh yang akan melakukannya. Ada dua opsi dari sini.
Instal aplikasi ke folder Aplikasi dan dari Terminal atau SSH dijalankan
open /Applications/Sleep\ Display.app
Klik kanan pada aplikasi dari folder Unduhan dan klik "Tampilkan Isi Paket". Arahkan ke
Contents/MacOS
dan salin file tampilan tidur.Arahkan ke
/usr/bin
(Anda dapat menggunakan ⇧+ ⌘+ Gpintas dan ketik direktori) dan tempelkan file biner. Anda sekarang dapat mengetik perintahsleepdisplay
ke Terminal atau melalui SSH dan layar akan segera tidur.Semoga ini membantu!
sumber
Inilah skrip shell sederhana yang akan melakukannya.
Ini akan menjalankan / memulai pengaturan apa pun yang Anda aktifkan untuk Screen Saver di komputer itu.
sumber
Script berikut akan melakukan pekerjaan (di Leopard dan yang lebih baru), tetapi harus dijalankan dengan
sudo
:Premisnya adalah yang
pmset
dapat mengatur waktu hingga tampilan tidur, tetapi masalahnya adalah bahwa nilai 0 mematikan fitur, daripada mengatur penundaan ke nol, dan nilai 1 adalah penundaan satu menit penuh. Keajaiban di sini adalah bahwa nilai 2 ^ 31 tampaknya disimpan sebagai nol negatif, yang secara ajaib berfungsi sebagai "matikan layar segera".Di Tiger dan sebelumnya, angka ajaib yang berbeda diperlukan, karena variabel ukuran bit yang berbeda digunakan secara internal untuk menyimpan penundaan, dalam hitungan menit, hingga layar mati.
Ini meniru perilaku control- shift- eject, dan dapat digunakan di MacBook Air tanpa ejectkunci.
sumber
di macOS Sierra
pmset displaysleepnow
caffeinate -u -t 1
pmset -g powerstate IODisplayWrangler | tail -1 | cut -c29
hasil <4 adalah tampilan tidurserver HTTP simpul kecil untuk mengatur status layar Mac Anda dari jarak jauh: https://github.com/ycardon/switch-api
sumber
"echo $[$(pmset -g powerstate IODisplayWrangler | tail -1 | cut -c29) - 4]"
(menggunakan ini ke true / false "is screen on?").Jalankan perintah berikut untuk menjalankan AppleScript pendek yang membuat tampilan mati:
Nama perintah menunjukkan bahwa itu mungkin membuat seluruh sistem tidur dalam beberapa keadaan, tapi saya tidak bisa mewujudkannya dalam pengujian terbatas: Saya mengujinya dengan skrip shell yang saya mulai sesaat sebelum menjalankan perintah ini, dan itu berjalan selama beberapa menit sampai saya "membangunkan" sistem. Itu terus mencetak hasil selama seluruh waktu.
sumber
Sangat berharap jawaban ini tidak terlalu jauh dari jalur. Cara favorit saya untuk tidur, nyalakan kembali, matikan - dan yang paling penting kunci - Mac menggunakan Alfred (peluncur aplikasi).
Itu tidak memerlukan skrip, pengetahuan skrip atau penggunaan terminal, yang brilian.
Namun, jika Anda secara khusus INGIN menggunakan terminal, ini mungkin bukan solusi untuk Anda.
sumber
Bangun:
caffeinate -u -t 2
Tidur:
pmset displaysleepnow
sumber
Anda bisa menggunakan
pmset
perintah untuk mengubah nilai untuk tampilan tidur, sesuatu seperti(membutuhkan root)
sumber
Lihatlah proyek open source github maclock
Secara default, ini hanya meluncurkan screensaver, tetapi Anda dapat mematikan tampilan dengan:
Di bawah selimut, itu adalah skrip bash yang pada dasarnya hanya memanggil:
sumber
Yah, ini yang lama, tapi sepertinya tidak ada jawaban yang bagus untuk pertanyaan ini di mana pun.
Saya membuat AppleScript berfungsi, meskipun itu membutuhkan aplikasi pihak ketiga, tidak terawat, dan tidak dapat didaftarkan — Suite Tambahan. Itu dapat diunduh di situs web lama pengembang .
Saya juga memasukkannya ke dalam Alfred Workflow .
sumber
Saya melakukannya dengan
sudo shutdown -s now
.Perhatikan bahwa Anda memerlukan hak administrator untuk melakukan ini.
sumber
Ini dia -
sumber
Menggunakan Alfred (gratis di AppStore) adalah cara yang bagus untuk membuat tampilan tidur hanya dengan menulis: "tidur". Tidak menjadi lebih sederhana dari itu.
Tentu saja Alfred melakukan lebih dari itu, Anda juga dapat memulai kembali, logout, sampah kosong, kunci, shutdown dan banyak lagi.
sumber
Tidak perlu aplikasi tambahan, cukup gunakan
tell application "Finder" to sleep
sumber
Aplikasi Launchbar berfungsi sama baiknya dengan Alfred. Dalam kasus saya, spasi CMD kemudian S [Tidur] - sederhana dan cepat
sumber