Buka beberapa "Terminal" tanpa GUI (startx)


12

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.


apakah Anda ssh atau terhubung langsung ke pi Anda?
SteveIrwin

Hai apa yang Anda inginkan dapat disediakan oleh dvtm. brain-dump.org/projects/dvtm
cgte

Jawaban:


8

Cukup gunakan Alt + F1-F12, sehingga Anda dapat memiliki 12 tab konsol yang berbeda tanpa memulai GUI


ini sebenarnya pilihan yang saya gunakan saat ini :)
pasadinhas

1
Ini tidak berfungsi pada Raspbian, tidak ada login di salah satu ttys lainnya.
AndreKR

9

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 .


2
+1 karena ketika terhubung langsung ke mesin, ini adalah cara "standar" untuk mendapatkan login lagi, dan tidak perlu menginstal layar / tmux ..
Kiirani

6

Bahkan lebih baik daripada screen(menurut saya) tmux. Anda dapat menginstalnya melalui sudo apt-get install tmux. Lihat juga halaman manualnya man tmux.

Anda dapat memulainya dengan mengetik tmuxdi salah satu konsol Anda (lihat jawaban XTL).

Berikut adalah perintah yang paling penting ( C-b dartinya: tekan kontrol dan B secara bersamaan, lalu tekan D):

  • C-b d lepaskan sesi
  • tmux attach pada shell untuk melampirkan kembali sesi lari
  • C-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 ini
  • C-b c bingkai baru (shell baru dimulai)
  • C-b n bingkai selanjutnya
  • C-b l bingkai terakhir
  • C-b bkirim C-bke aplikasi yang sedang berjalan

Pendukung kuat untuk tmux di sini juga. Konfigurasi garis status jauh lebih sederhana dan menangani redraw lebih baik.
kode

1
Harus dicatat bahwa tmux tidak memiliki perilaku yang sama dengan layar sehubungan dengan melampirkan sesi ke beberapa VT ("screen -x")
Kiirani

3

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


3
  1. Jika skrip php yang ingin Anda jalankan tidak berinteraksi dengan pengguna atau membutuhkan input,

    Anda dapat menggunakan &perintah yang mengirim skrip ke latar belakang

    Berikut ini sebuah contoh.

    pi@raspberrypi ~ $php code1 &
    

    Ini akan mengirim script ke latar belakang di mana ia akan tetap berjalan.

  2. Jika Anda ssh ke terminal Anda, maka Anda dapat ssh di pengguna yang sama dua kali dan memiliki dua terminal.

  3. Jika Anda ingin membuka beberapa terminal dari sesi ssh,

    Anda harus melihat layar atau menginstal byobuyang 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.


2

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:

$ sudo apt-get install byobu

Setelah diinstal, konfigurasikan melalui:

$ byobu-config

Anda dapat memilih untuk memulainya secara otomatis saat masuk, dan mengaktifkan applet pemberitahuan status ( waktu aktif, memuat, tanggal ... )

masukkan deskripsi gambar di sini

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 ).


Saya mencoba byobou tempo hari dan tidak bahagia. Kontrol melalui tombol fungsi sangat rapuh. Tidak berfungsi di OS X, juga mengalami masalah saat di bawah Debian. Saya akan tetap dengan tmux dan perintahnya. Tombol fungsi juga bertabrakan dengan mc (komandan tengah malam).
Arne

Sedangkan untuk konflik tombol fungsi dengan mc , Anda dapat mengubahnya di byobu (Anda dapat dengan mudah memilih antara dua mode yang berbeda melalui byobu-config).
Laurent Grégoire

2

Karena persyaratan awal Anda adalah meluncurkan skrip PHP di latar belakang, Anda dapat menggunakan perintah nohup. Contoh:

$ nohup php myscript.php &

Setelah dimulai, perintah yang ditentukan sebagai argumen baris perintah untuk nohupdieksekusi di latar belakang , dan input / outputnya tidak terhubung dari terminal yang memulai, untuk mencegah SIGHUPsinyal (karenanya nohupnama) dikirim ke proses latar belakang saat Anda keluar dari konsol awal (sinyal biasanya menyebabkan program berhenti). Output diarahkan ke file (default nohup.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.


Beberapa shell (bash, zsh?) Juga memiliki perintah disownuntuk mencegah penutupan proses latar belakang yang dipilih.
XTL
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.