Saya tidak tahu apakah judulnya cukup jelas, tetapi saya ingin memiliki beberapa (dua untuk saat ini sudah cukup) terminal terbuka tanpa harus memulai Desktop.
Saya ingin skrip PHP berjalan (penuh waktu) dan masih dapat menggunakan terminal Raspi saya seperti ketika saya memulai Raspi saya dengan Raspbian.
Jawaban:
Cukup gunakan Alt + F1-F12, sehingga Anda dapat memiliki 12 tab konsol yang berbeda tanpa memulai GUI
sumber
Jika Anda berada di konsol (keyboard dan layar terpasang) Anda harus dapat menggunakan sistem konsol virtual Linux untuk beralih di antara beberapa terminal menggunakan (ctrl-) alt-F1 hingga F12 dan banyak lagi dengan shift.
Jumlah terminal yang dikonfigurasikan dan jumlah terminal yang memiliki proses getty (yang meminta Anda untuk login dan kata sandi) tergantung pada konfigurasi .
sumber
Bahkan lebih baik daripada
screen
(menurut saya)tmux
. Anda dapat menginstalnya melaluisudo apt-get install tmux
. Lihat juga halaman manualnyaman tmux
.Anda dapat memulainya dengan mengetik
tmux
di salah satu konsol Anda (lihat jawaban XTL).Berikut adalah perintah yang paling penting (
C-b d
artinya: tekan kontrol dan B secara bersamaan, lalu tekan D):C-b d
lepaskan sesitmux attach
pada shell untuk melampirkan kembali sesi lariC-b "
membagi bingkai saat ini secara horizontal (shell baru dimulai)C-b %
membagi bingkai saat ini secara vertikal (shell baru dimulai)C-b arrow (up, down, left, right)
menavigasi antara jendela dalam bingkai saat iniC-b c
bingkai baru (shell baru dimulai)C-b n
bingkai selanjutnyaC-b l
bingkai terakhirC-b b
kirimC-b
ke aplikasi yang sedang berjalansumber
Anda dapat melakukan ini dengan layar juga. Dengan layar, Anda bahkan dapat melepaskan diri dari sesi layar, keluar, masuk, lalu pasang kembali ke sesi layar tanpa kehilangan apa pun. Program akan terus berjalan, dan semua output akan terus ditampilkan pada terminal yang Anda putuskan.
Beberapa tautan ke tutorial layar:
http://www.rackaid.com/resources/linux-screen-tutorial-and-how-to/
http://magazine.redhat.com/2007/09/27/a-guide-to-gnu-screen/
Tautan ke utas dengan beberapa tips .screenrc yang berguna:
https://bbs.archlinux.org/viewtopic.php?id=55618
Tutorial khusus Raspberry Pi:
http://raspi.tv/2012/using-screen-with-raspberry-pi-to-avoid-leaving-ssh-sessions-open
sumber
Jika skrip php yang ingin Anda jalankan tidak berinteraksi dengan pengguna atau membutuhkan input,
Anda dapat menggunakan
&
perintah yang mengirim skrip ke latar belakangBerikut ini sebuah contoh.
Ini akan mengirim script ke latar belakang di mana ia akan tetap berjalan.
Jika Anda ssh ke terminal Anda, maka Anda dapat ssh di pengguna yang sama dua kali dan memiliki dua terminal.
Jika Anda ingin membuka beberapa terminal dari sesi ssh,
Anda harus melihat layar atau menginstal
byobu
yang lebih baik yang merupakan pembungkus layar.byobu adalah pembungkus yang memungkinkan untuk dengan mudah membuka layar baru dengan tombol fungsi sederhana alih-alih kombinasi tombol dari ctrl-a. Ini juga menunjukkan garis status dengan semua terminal virtual terbuka yang dapat dinamai.
Fitur bagus lainnya adalah kenyataan bahwa semua layar Anda dapat tetap aktif saat koneksi ssh Anda terputus. Anda hanya terhubung lagi melalui ssh dan memanggil byobu dan semuanya seperti sebelumnya.
Semoga ini bisa membantu.
sumber
Untuk kelengkapan, opsi lain adalah menggunakan byobu . Ini adalah lapisan yang nyaman di atas layar GNU . Ini memberikan default bagus dan dalam pengertian saya lebih mudah digunakan. Saya pribadi menggunakannya di Rapsberry Pi saya dan berfungsi dengan baik. Untuk menginstalnya, cukup ketik:
Setelah diinstal, konfigurasikan melalui:
Anda dapat memilih untuk memulainya secara otomatis saat masuk, dan mengaktifkan applet pemberitahuan status ( waktu aktif, memuat, tanggal ... )
Sebagai catatan, konsol virtual semacam ini juga berguna untuk berbagi input / output konsol yang sama antara pengguna yang berbeda di mesin yang berbeda (Anda dapat menyebutnya berbagi layar mode teks ).
sumber
byobu-config
).Karena persyaratan awal Anda adalah meluncurkan skrip PHP di latar belakang, Anda dapat menggunakan perintah
nohup
. Contoh:Setelah dimulai, perintah yang ditentukan sebagai argumen baris perintah untuk
nohup
dieksekusi di latar belakang , dan input / outputnya tidak terhubung dari terminal yang memulai, untuk mencegahSIGHUP
sinyal (karenanyanohup
nama) dikirim ke proses latar belakang saat Anda keluar dari konsol awal (sinyal biasanya menyebabkan program berhenti). Output diarahkan ke file (defaultnohup.out
).Untuk informasi lebih lanjut:
man nohup
.Untuk jawaban yang lebih baik dan lebih lengkap, Anda mungkin ingin "daemonisasi" program Anda sepenuhnya . Anda mungkin dapat menemukan sumber daya di web yang menjelaskan cara melakukannya dengan skrip PHP.
sumber
disown
untuk mencegah penutupan proses latar belakang yang dipilih.