Cara Menggunakan Perintah skrin Linux
Dengan screen
arahan Linux , anda dapat mendorong aplikasi terminal yang sedang berjalan ke latar belakang dan menariknya ke hadapan apabila anda ingin melihatnya. Ia juga menyokong paparan skrin terbahagi dan berfungsi melalui sambungan SSH, walaupun selepas anda memutuskan sambungan dan menyambung semula!
Apakah Perintah skrin?
The screen
arahan ialah pemultipleks terminal, dan ia benar-benar penuh dengan pilihan. Untuk mengatakan bahawa ia boleh melakukan banyak perkara adalah cucu dari pernyataan kecil Halaman manual merangkumi lebih dari 4,100 baris.
Berikut adalah kes yang paling biasa di mana anda menggunakan screen
perintah, dan kami akan membahasnya lebih lanjut dalam artikel ini:
- Operasi standard adalah membuat tetingkap baru dengan cangkang di dalamnya, menjalankan perintah, dan kemudian mendorong tetingkap ke latar belakang (disebut "melepaskan"). Apabila anda ingin melihat bagaimana proses anda, anda dapat menarik tetingkap ke latar depan sekali lagi ("pasang kembali") dan menggunakannya lagi. Ini bagus untuk proses lama yang anda tidak mahu tamatkan secara tidak sengaja dengan menutup tetingkap terminal.
- Setelah
screen
sesi dijalankan, anda boleh membuat tetingkap baru dan menjalankan proses lain di dalamnya. Anda boleh berpindah antara tetingkap dengan mudah untuk memantau kemajuannya. Anda juga boleh memisahkan tetingkap terminal anda ke kawasan menegak atau mendatar, dan memaparkan pelbagaiscreen
tetingkap anda dalam satu tetingkap. - Anda boleh menyambung ke mesin jauh, memulakan
screen
sesi, dan melancarkan proses. Anda boleh memutuskan sambungan dari host jauh, menyambung semula, dan proses anda masih berjalan. - Anda boleh berkongsi
screen
sesi antara dua sambungan SSH yang berbeza sehingga dua orang dapat melihat perkara yang sama, dalam masa nyata.
Memasang skrin
Untuk memasang screen
di ubuntu, gunakan arahan ini:
sudo apt-get skrin pemasangan
Untuk memasang screen
di Manjaro, gunakan arahan berikut:
sudo pacman -Sy screen
Di Fedora, anda taipkan perkara berikut:
sudo dnf pasang skrin
Bermula dengan skrin
Untuk memulakan screen
, ketik seperti yang ditunjukkan di bawah dan tekan Enter:
skrin
Anda akan melihat halaman maklumat lesen. Anda boleh menekan Space bar untuk membaca halaman kedua atau Enter untuk kembali ke command prompt.
Anda tinggal di command prompt, dan nampaknya tidak banyak yang berlaku. Walau bagaimanapun, anda kini menggunakan cengkerang di dalam emulator terminal berbilang. Mengapa perkara ini baik? Baiklah, mari kita mulakan proses yang memerlukan masa yang lama untuk diselesaikan. Kami akan memuat turun kod sumber untuk kernel Linux terkini dan mengalihkannya ke fail yang dipanggil latest_kernel.zip
.
Untuk melakukannya, kami taipkan perkara berikut:
curl //cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.5.9.tar.xz> terkini_kernel.zip
Muat turun kami bermula, dan curl
output menunjukkan kemajuan kami.
Kami tidak dapat menunjukkan gambar bit seterusnya, kerana ia adalah urutan penekanan kunci. Anda taip Ctrl + A, lepaskan kekunci itu, dan kemudian tekan d untuk melepaskan skrin.
Proses muat turun masih berjalan tetapi tetingkap yang menunjukkan muat turun dikeluarkan. Anda kembali ke tetingkap terminal dari mana anda melancarkan screen
sesi. Mesej memberitahu anda bahawa screen
tetingkap berlabel 23167.pts-0.howtogeek
telah dilepaskan.
Anda memerlukan nombor dari awal nama tetingkap untuk memasangnya semula. Sekiranya anda melupakannya, anda selalu boleh menggunakan pilihan -ls
(senarai), seperti gambar di bawah, untuk mendapatkan senarai tetingkap yang terpisah:
skrin -l
Apabila anda sudah bersedia, anda boleh menggunakan pilihan -r
(pasang kembali) dan bilangan sesi untuk memasangnya semula, seperti:
skrin -r 23167
Tingkap yang berfungsi di latar belakang kini dibawa kembali ke tetingkap terminal anda seolah-olah tidak pernah pergi.
Sekiranya proses yang akan diselesaikan hingga akhirnya dapat diselesaikan. Sekiranya ia merupakan proses yang berterusan, anda akhirnya mahu menghentikannya. Bagaimanapun, apabila proses berakhir, anda boleh menaip exit
untuk keluar dari screen
. Sebagai alternatif, anda boleh menekan Ctrl + A, dan kemudian K untuk membunuh tetingkap secara paksa.
Taipkan arahan berikut:
jalan keluar
Anda kembali ke tetingkap terminal sebelumnya, yang masih akan menunjukkan arahan yang anda gunakan untuk memasang semula tetingkap. Kerana kami menutup satu-satunya tetingkap yang terpisah, kami mendapat mesej yang screen
akan dihentikan.
BERKAITAN: Cara Menggunakan curl untuk memuat turun fail dari baris arahan Linux
Menggunakan Sesi skrin Dinamakan
Anda boleh menggunakan pilihan -S
(nama sesi) untuk menamakan screen
sesi anda . Sekiranya anda menggunakan nama yang tidak dapat dilupakan dan bukannya identiti berangka sesi, lebih senang menyambung semula ke sesi. Kami menaip yang berikut untuk menamakan sesi kami "bigfile":
skrin -S bigfile
Semasa screen
melancarkan sesi kami, kami melihat tetingkap kosong dengan command prompt. Kita akan memuat turun fail besar, jadi kita boleh menggunakan proses yang berjalan lama sebagai contoh.
Kami menaip perkara berikut:
curl //ipv4.download.thinkbroadband.com/1GB.zip> bigfile.zip
Apabila muat turun dimulakan, kami menekan Ctrl + A, dan kemudian tekan D untuk melepaskan sesi. Kami taipkan yang berikut untuk menggunakan pilihan -ls
(daftar) screen
untuk melihat perincian sesi terpisah kami:
skrin -l
Di belakang pengecam angka (23266), kami melihat nama sesi kami (bigfile). Kami menaip perkara berikut, termasuk nama sesi, untuk memasangnya kembali:
skrin -r bigfile
Kami disambungkan semula ke tetingkap muat turun kami dan melihat muat turun yang lama masih dijalankan.
Apabila muat turun selesai, kami menaip exit
untuk menutup tetingkap sesi.
Menggunakan skrin dengan Banyak Windows
Sejauh ini, kami biasa screen
meletakkan satu proses di latar belakang dalam tetingkap yang terpisah. Namun, screen
mampu melakukan lebih daripada itu. Seterusnya, kami akan menjalankan beberapa proses yang membolehkan kami memantau beberapa aspek komputer kami.
Kami mengetik berikut untuk memulakan sesi layar yang disebut "monitor":
skrin -S monitor
Pada prompt arahan dalam sesi tetingkap baru kami, kami akan melancarkan dmesg
dan menggunakan pilihan -H
(boleh dibaca manusia) dan -w
(tunggu mesej baru). Ini akan memaparkan mesej penyangga kernel; mesej baru akan muncul semasa ia berlaku.
Kami menaip perkara berikut:
dmesg -H -w
Mesej yang ada muncul. Kami tidak kembali ke command prompt kerana dmseg
sedang menunggu mesej baru, dan akan memaparkannya ketika mereka tiba.
BERKAITAN: Cara Menggunakan Perintah dmesg di Linux
Kami mahu menjalankan aplikasi lain, jadi kami memerlukan screen
tetingkap baru . Kami menekan Ctrl + A, dan kemudian C untuk membuat tetingkap baru. Kita akan gunakan watch
untuk menjalankan berulang kali vmstat
, jadi kita mendapat paparan penggunaan memori maya yang sering dikemas kini di komputer kita.
Pada prompt arahan baru, kami taipkan perkara berikut:
tonton vmstat
The vmstat
output muncul dan mengemas kini setiap dua saat.
Dua proses kami kini berjalan. Untuk melompat di antara screen
tingkap, anda tekan Ctrl + A, dan bilangan tetingkap. Yang pertama yang kami buat adalah tetingkap sifar (0), yang berikutnya adalah tetingkap 1, dan seterusnya. Untuk melompat ke tetingkap pertama (yang dmesg
satu), kita tekan Ctrl + A dan 0.
Sekiranya kita menekan Ctrl + A dan 1, ia membawa kita kembali ke vmstat
tingkap.
Cukup cantik! Kita boleh menekan Ctrl + A, dan kemudian D untuk melepaskan diri dari sesi ini; kita boleh melampirkan kemudian. Kedua-dua sesi masih akan berjalan. Sekali lagi, untuk beralih di antara tingkap, kami menekan Ctrl + A dan nombor (0 atau 1) tetingkap yang ingin kami beralih.
Mari kita pergi ke langkah seterusnya dan melihat kedua-dua skrin dalam satu tetingkap. Apabila anda melakukan ini, anda akan meregangkan tetingkap terminal anda ke ukuran yang menjadikan langkah ini berguna. Contoh kami terbatas pada ukuran tangkapan skrin kami, jadi tingkap kami akan kelihatan sedikit sempit.
Untuk melakukan ini, kami menekan Ctrl + A, dan kemudian Shift + S (modal "S" diperlukan).
Tingkap terbahagi kepada dua "wilayah".
Kawasan atas masih dipaparkan vmstat
, dan kawasan bawah kosong. Kursor diserlahkan dalam tangkapan skrin di bawah. Untuk memindahkannya ke kawasan bawah, kami tekan Ctrl + A, dan kemudian Tab.
Kursor bergerak ke kawasan bawah, yang sebenarnya hanyalah ruang kosong. Itu bukan cangkang, jadi kita tidak dapat menaip apa-apa di dalamnya. Untuk mendapatkan paparan yang berguna, kami tekan Ctrl + A, dan kemudian tekan "0" untuk memaparkan dmesg
tetingkap di wilayah ini.
Ini memberi kita kedua-dua output langsung dalam satu tetingkap perpecahan. Sekiranya kita menekan Ctrl + A dan D untuk melepaskan tingkap, dan kemudian memasangnya kembali, kita akan kehilangan paparan pemisah. Walau bagaimanapun, kami dapat memulihkannya dengan pintasan papan kekunci berikut:
- Ctrl + A, S: Pisahkan tetingkap secara mendatar.
- Ctrl + A , Tab: Pindah ke kawasan bawah.
- Ctrl + A, 0: Paparkan tetingkap sifar di kawasan bawah.
Kita boleh mengambil sesuatu walaupun lebih jauh. Kami sekarang akan membelah panel bawah secara menegak, dan menambahkan proses ketiga ke paparan. Dengan kursor di kawasan bawah, kami menekan Ctrl + A dan C untuk membuat tetingkap baru dengan shell di dalamnya. Kawasan bawah memaparkan tetingkap baru dan memberi kita arahan.
Seterusnya, kami menjalankan df
perintah untuk memeriksa penggunaan sistem fail:
df
Apabila kita melihat df
berjalan, kita menekan Ctrl + A dan watak paip (|)
. Ini membelah kawasan bawah secara menegak. Kami menekan Ctrl + A dan Tab untuk berpindah ke wilayah baru. Seterusnya, kami menekan Ctrl + A dan 0 untuk memaparkan dmesg
tetingkap.
Anda juga boleh berpindah dari rantau ke rantau, dan menambahkan lebih banyak pembahagian menegak atau mendatar. Berikut adalah beberapa kombinasi kunci yang lebih berguna:
- Ctrl + A: Berbalik antara kawasan semasa dan sebelumnya.
- Ctrl + A, Q: Tutup semua kawasan kecuali yang sekarang.
- Ctrl + A, X: Tutup kawasan semasa.
Menggunakan skrin Melalui SSH
Dengan screen
, anda boleh memulakan sesi tetingkap, melepaskannya sehingga masih berjalan di latar belakang, log keluar atau masuk semula, dan pasang kembali sesi tersebut.
Mari buat sambungan SSH ke komputer kita dari yang lain dengan ssh
arahan. Kita harus memberikan nama akaun yang akan kita sambungkan dan alamat komputer jauh.
Sebagai contoh, kami taipkan perkara berikut:
ssh [email protected]
Setelah kami mengesahkan pada komputer jauh dan log masuk, kami taipkan yang berikut untuk memulakan screen
sesi yang disebut "ssh-geek":
skrin -S ssh-geek
Untuk tujuan demonstrasi, kami akan berjalan top
di screen
tingkap, tetapi anda boleh memulakan proses yang lama atau tidak berkesudahan.
Kami menaip perkara berikut:
bahagian atas
Setelah top
berjalan di tingkap, kami menekan Ctrl + A, dan kemudian D untuk melepaskan tingkap.
Kami kembali ke tetingkap terminal asal yang jauh.
Sekiranya kita menaip exit
, seperti ditunjukkan di bawah, ia memutuskan sesi SSH dan kita kembali menggunakan komputer tempatan kita:
jalan keluar
Kami menaip perkara berikut untuk menyambung semula:
ssh [email protected]
Setelah kami sambung semula dan log masuk, kami boleh memasukkan perkara berikut untuk melampirkan semula screen
sesi:
skrin -r ssh-geek
Kami kini tersambung semula ke contoh kami yang masih berjalan top
.
Ini bagus jika anda ingin memulakan proses pada satu mesin, dan kemudian meneruskan di mana sahaja anda berhenti menggunakan mesin yang lain.
BERKAITAN: Cara Membuat dan Memasang Kekunci SSH Dari Shell Linux
Berkongsi Sesi skrin
Anda juga boleh menggunakan screen
sesi untuk membolehkan dua orang melihat dan berinteraksi dengan tetingkap yang sama. Katakan seseorang yang menjalankan Fedora di komputernya mahu menyambung ke pelayan Ubuntu kami.
Dia akan menaip perkara berikut:
ssh [email protected]
Setelah dia terhubung, dia memulakan sesi layar yang disebut "ssh-geek" menggunakan pilihan -S (nama sesi). Dia juga menggunakan pilihan -d
(melepaskan) dan -m
(penciptaan yang dipaksakan) untuk membuat screen
sesi baru yang sudah terpisah.
Dia menaip perkara berikut:
skrin -d -m -S ssh-geek
Dia menaip yang berikut, menggunakan pilihan -X
(mod pelbagai skrin) untuk melampirkan sesi:
skrin -X ssh-geek
Pada komputer Manjaro, orang lain menyambung ke komputer Ubuntu dengan kelayakan akaun yang sama, seperti yang ditunjukkan di bawah:
ssh [email protected]
Setelah dia berhubung, dia menaip screen
perintah dan menggunakan pilihan -X (mod pelbagai skrin) untuk menyertai sesi tetingkap yang sama, seperti:
skrin -X ssh-geek
Sekarang, apa sahaja jenis orang, yang lain akan melihat. Sebagai contoh, apabila seseorang mengeluarkan arahan tarikh, mereka berdua melihatnya seperti yang diketik, dan juga outputnya.
Kedua-dua orang kini berkongsi screen
sesi yang dijalankan di komputer Ubuntu jauh.
Untuk perisian yang pertama kali melihat cahaya pada tahun 1987, screen
masih terdapat produktiviti yang baik. Membiasakan diri akan menghabiskan masa dengan baik!
BERKAITAN: 37 Perintah Linux Penting yang Perlu Anda Ketahui