Cara Menggunakan Perintah skrin Linux

Dengan screenarahan 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 screenarahan 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 screenperintah, 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 screensesi 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 pelbagai screentetingkap anda dalam satu tetingkap.
  • Anda boleh menyambung ke mesin jauh, memulakan screensesi, dan melancarkan proses. Anda boleh memutuskan sambungan dari host jauh, menyambung semula, dan proses anda masih berjalan.
  • Anda boleh berkongsi screensesi antara dua sambungan SSH yang berbeza sehingga dua orang dapat melihat perkara yang sama, dalam masa nyata.

Memasang skrin

Untuk memasang screendi ubuntu, gunakan arahan ini:

sudo apt-get skrin pemasangan

Untuk memasang  screendi 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 curloutput 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 screentetingkap berlabel 23167.pts-0.howtogeektelah 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 screenakan 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 screensesi 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 screenmelancarkan 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) screenuntuk 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 exituntuk menutup tetingkap sesi.

Menggunakan skrin dengan Banyak Windows

Sejauh ini, kami biasa screenmeletakkan satu proses di latar belakang dalam tetingkap yang terpisah. Namun,  screenmampu 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 dmsegsedang 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 watchuntuk 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 vmstatoutput muncul dan mengemas kini setiap dua saat.

Dua proses kami kini berjalan. Untuk melompat di antara  screentingkap, 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 dmesgsatu), kita tekan Ctrl + A dan 0.

Sekiranya kita menekan Ctrl + A dan 1, ia membawa kita kembali ke vmstattingkap.

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 dmesgtetingkap 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 dfperintah untuk memeriksa penggunaan sistem fail:

df

Apabila kita melihat dfberjalan, 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 dmesgtetingkap.

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 screensesi yang disebut "ssh-geek":

skrin -S ssh-geek

Untuk tujuan demonstrasi, kami akan berjalan  top di screentingkap, tetapi anda boleh memulakan proses yang lama atau tidak berkesudahan.

Kami menaip perkara berikut:

bahagian atas

Setelah  topberjalan 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 screensesi:

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 screensesi 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 screensesi 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  screenperintah 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 screensesi 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