Saya biasa menggunakan konsol layar penuh (yang dibuka dengan Ctrl+ Alt+ F1... F6) secara aktif dan mendapat ide bahwa saya ingin mencoba menghiasinya dengan "wallpaper" sejenis (yang agak gelap dan monoton tentu saja agar tidak mengurangi keterbacaan), mungkin ini bisa terlihat dan terasa menyenangkan (atau tidak, tapi saya perlu mencoba). Akan lebih baik jika saya dapat mengatur gambar yang berbeda sebagai latar belakang konsol yang berbeda (satu untuk Ctrl+ Alt+ F1, yang lain untuk Ctrl+ Alt+ F2dll).
Fakta bahwa konsol memiliki resolusi lebih tinggi yang disediakan mode teks murni menunjukkan bahwa mode grafis lengkap digunakan untuk mereka dan semuanya mungkin. Tapi bagaimana caranya?
tty
virtual-console
Ivan
sumber
sumber
framebuffer
perangkat, tetapi dengan layar yang ditempati dengan output dari beberapa program, sepertifbi
. TTY dalam dan dari dirinya sendiri masih merupakan perangkat teks sajaJawaban:
Saya cukup yakin bahwa driver konsol Linux tidak memiliki kemampuan ini, namun ada aplikasi yang disebut
fbterm
yang dapat melakukan ini. Untuk membuat gambar latar belakang berfungsi, Anda juga memerlukan utilitas yang dapat menampilkan gambar pada framebuffer sepertifbi
:fbterm
tidak benar-benar membaca atau menampilkan gambar latar belakang itu sendiri, ia mengharapkan beberapa program lain untuk mengatur gambar latar belakang pada layar sebelum dimulai. Ada instruksi difbterm
halaman manual tentang cara melakukan ini menggunakanfbv
, utilitas yang benar-benar kuno dan tidak didukung saya bahkan tidak bisa mengkompilasi pada sistem Ubuntu modern.fbi
adalah penampil gambar yang jauh lebih bersih dan lebih bagus untuk framebuffer, tetapi sayangnya tidak memiliki fungsi "atur dan keluar" yang lebih sederhanafbv
, dan dengan demikian mengganggufbterm
jika Anda mencoba menggunakannya secara langsung. Namun, saya dapat menemukan alternatif yang berfungsi:Pertama, Anda harus menggunakan
fbi
dancat
menampilkan gambar yang Anda inginkan dan kemudian membuangnya ke file gambar "framebuffer raw format". Sebagai root, di konsol framebuffer, jalankan:(Ini akan menampilkan gambar selama beberapa detik dan kemudian keluar, setelah menyimpan hasilnya dalam file
nifty-background.fbimg
. Gantinifty-background.fbimg
dannifty-background.png
dengan nama file apa pun yang Anda inginkan, tentu saja.)Bagian pertama dari perintah menunggu selama 1 detik sebelum men-capping konten framebuffer ke file. Pada saat yang sama, bagian kedua (setelah &) diluncurkan
fbi
untuk menampilkan gambar pada framebuffer, sehingga ketika perintah cat berkeliling untuk mengeksekusi (1 detik kemudian), ada gambar di sana untuk dibuang. Alasan mereka berada dalam urutan itu adalah karena saya menemukanfbi
ada masalah jika tidak berjalan di latar depan, yang berarti itu harus menjadi perintah terakhir dalam daftar.Sejak saat itu, kapan pun Anda ingin menjalankan
fbterm
, Anda dapat memulainya seperti itu (Anda mungkin ingin membuat skrip pembungkus kecil):sumber
... yang merupakan salah satu cara di mana pengamat dapat membedakan BSOD nyata pada Windows dari tindakan screen-saver BSOD lelucon yang melakukan putaran satu dekade yang lalu. Tampilan karakter blok grafik yang menggunakan perangkat keras adaptor layar dalam mode grafis agak berbeda dari karakter yang dihasilkan oleh perangkat keras adaptor layar dalam mode teks.
Ya, adaptor layar dalam mode grafis. Sudah seperti ini selama beberapa waktu, sekarang. Itu selalu seperti ini pada sistem tanpa hardware layar PC adapter. Pada tahun-tahun awal Linux, pada PC yang kompatibel konsol akan memiliki perangkat keras adaptor layar dalam mode teks. Tetapi penggunaan ini diam-diam telah terkikis menjadi hampir tidak ada. Dukungan Unicode untuk sebagian besar pengguna saat ini membutuhkan set mesin terbang yang lebih besar daripada perangkat keras mode teks. Firmware mesin (tentu saja) menggunakan mode grafis untuk layar splash (dengan gambar-gambar cantik dan logo perusahaan), seperti halnya loader Linux dan inisialisasi sistem.
Ada program emulator terminal yang dibangun ke dalam kernel Linux. Itu berlapis di atas framebuffer dan subsistem acara masukan, yang menggunakan antarmuka kernel internal untuk mengakses. Ia menghadirkan dirinya ke sistem mode aplikasi sebagai serangkaian perangkat terminal virtual kernel ,
/dev/tty1
dan sebagainya.Program ini cukup terbatas dibandingkan dengan emulator terminal yang dijalankan dengan kernel Linux, seperti program aplikasi biasa. Ini hanya mengemulasi subset terbatas dari fungsionalitas terminal nyata, dan tidak memiliki fitur tambahan dari emulator terminal terakhir.
Itu yang harus Anda perhatikan. Anda mungkin akrab dengan emulator terminal yang menggunakan X untuk input / output mereka, seperti xterm, lxterminal, gnome-console, konsole, eterm, wterm, dan sisanya. Yang kurang dikenal adalah yang menggunakan perangkat framebuffer dan perangkat acara masukan untuk input / output mereka. menyediakan terminal virtual ruang pengguna :
console-terminal-emulator
danconsole-fb-realizer
, danBeberapa yang terakhir ini dapat melakukan apa yang Anda inginkan.
fbterm dapat dikonfigurasi untuk menggunakan apa pun yang ada di framebuffer saat startup sebagai gambar latar, misalnya. Jadi semua yang perlu dilakukan adalah menggunakan salah satu dari beberapa utilitas lain untuk menampilkan gambar langsung ke perangkat Linux framebuffer untuk mengatur gambar latar belakang sebelum menjalankan fbterm. Ada beberapa alat seperti itu, termasuk:
fbvis dan fbi menghapus layar saat keluar, dan membutuhkan konvolusi yang dijelaskan secara lebih rinci dalam jawaban Foogod. dfbg, bagaimanapun, tidak membersihkan setelah itu sendiri, membuatnya lebih cocok untuk tugas khusus ini.
Bacaan lebih lanjut
sumber
Meskipun jawaban Foogod tidak bekerja untuk saya, itu memang membawa saya ke arah yang benar, dengan memberikan setengah dari solusi (yaitu, membaca data framebuffer, sambil
fbi
menunjukkan gambar pada layar TTY). Karena itu saya telah memberikan jawabannya sebagai hadiah.Di bawah ini adalah skrip yang membuatnya mudah diluncurkan
fbterm
dengan jalur parsial ke gambar sebagai argumen baris perintah tunggalPemakaian
Script harus disimpan dalam direktori yang tercantum dalam
$PATH
variabel Anda . Lebih disukai itu harus di$HOME/bin
folder pribadi Anda . Lihat Cara menambahkan direktori ke PATH? penjelasan cara menambahkan pribadi Andabin
untuk$PATH
, tetapi menciptakan direktori yang disebutbin
dalam direktori rumah Anda cukup untuk menambahkannya kePATH
pada re-login.Skrip juga harus memiliki izin yang dapat dieksekusi; Anda dapat mengaturnya dengan
chmod +x /path/to/script.sh
.Akhirnya, harus dijalankan dengan
sudo
, untuk memungkinkan akses root untuk membaca dan menulis/dev/fb0
.Sumber Skrip
Juga tersedia di repositori Github saya.
informasi tambahan
Ternyata pengguna tidak perlu menggunakan
sudo
;/dev/fb0
milikvideo
grup, jadi pengguna bisa menambahkan diri mereka ke grup itu menggunakanDengan demikian, pemeriksaan untuk root dalam skrip di atas menjadi usang, khususnya
[ "$(whoami)" != "root" ] ||
bagian.sumber