Kami sedang merakit beberapa mesin ringan dengan tujuan untuk menampilkan satu halaman web pada layar besar. Saya membutuhkan mesin untuk boot pada dasarnya ringan dan secepat mungkin dan pada dasarnya menjalankan browser (WebKit?) Di layar penuh, memuat satu halaman yang akan dikendalikan secara dinamis oleh JavaScript. Saya akan menggunakan prosesor dual-core Intel D525 dengan GPU terintegrasi, jadi saya tidak perlu mengatur driver grafis berpemilik. Setelah saya mendapatkan salah satu mesin ini diatur dengan benar, saya seharusnya hanya bisa ke dd
hard drive ke komputer saya dan kemudian membuangnya ke setiap mesin baru.
Saya punya pertanyaan berikut:
Bagaimana saya bisa membuat "distribusi" yang hanya mencakup apa yang saya butuhkan? Saya kira saya akan membutuhkan kernel (;]), X, dan semacam browser web, tetapi tidak terlalu banyak. Bisakah saya mengambil sesuatu seperti Ubuntu Server dan cukup menginstal X Server dan menemukan cara agar mesin otomatis masuk, mulai X, dan mulai browser web, tidak ada pertanyaan yang diajukan? Apakah ada buku yang bisa saya baca atau artikel atau sesuatu?
Apa yang dapat saya gunakan untuk peramban web yang bagus dan sederhana yang pada dasarnya menjalankan "Chromium chromeless?" Mesin-mesin ini tidak akan menerima input pengguna sama sekali. Jika saya perlu mengelolanya, saya akan menggunakan SSH.
sumber
Pertama-tama, Anda mungkin tidak ingin menemukan kembali roda ... Ada beberapa distribusi yang berfokus pada kios. Salah satunya mungkin menghemat banyak pekerjaan.
Kedua, jika Anda terbiasa dengan Kickstart di Fedora dan RHEL (atau CentOS atau Scientific Linux), Anda dapat menggunakan alat Fedora untuk membuat putaran sendiri dari salah satu distribusi tersebut. Dokumentasi agak tersebar, tetapi mulai dari sini .
sumber
Mulailah dengan distro minimal seperti Arch Linux , kemudian instal paket yang Anda butuhkan. Untuk peramban web yang sederhana, cobalah Uzbl .
sumber
Ini adalah pertanyaan yang cukup terlibat, dan karena proyek Anda tidak sepenuhnya jelas beberapa saran ini mungkin tidak tepat, tetapi anggap hal-hal itu untuk dievaluasi.
Anda mungkin tidak perlu browser web di komputer yang pernah menjadi bagian dari array tampilan. Jika Anda mencoba menampilkan satu halaman tunggal di banyak layar, kemungkinan Anda ingin menggunakan beberapa jenis teknologi tampilan massal. Ada beberapa varian Xorg yang berspesialisasi dalam menghasilkan satu tampilan besar perangkat video pada beberapa mesin.
Bahkan jika Anda menggunakan server X terpisah pada setiap mesin, Anda dapat menggunakan penerusan X untuk mengirim data tampilan dari satu atau lebih komputer lain, sehingga browser tetap tidak harus berjalan secara lokal.
Anda akan ingin tidak menggunakan window manager sama sekali dan menggunakan spesifikasi geometri untuk meluncurkan layar penuh aplikasi Anda, atau menggunakan tile window atau framework window manager yang dapat dikonfigurasi (seperti
awesome
) untuk mengelola windows pada setiap tampilan X. Ini membuatnya mudah untuk menyortir dan mengontrol jendela layar penuh dan sangat skrip.Sedangkan untuk browser, saya pikir
uzbl
kemungkinan adalah pilihan yang jelas.Ini mungkin aplikasi yang bagus untuk boot jaringan. Anda dapat mengatur server dengan kernel netbook yang tersedia melalui TFTP dan sistem file yang tersedia melalui nfs. Yang perlu klien Anda lakukan adalah menggunakan NIC yang mampu melakukan netboot untuk menghubungi server ini, unduh kernelnya dan buka. Tidak ada hard drive yang terlibat! Dan perawatannya mudah. Semua mesin berpotensi mem-boot gambar yang sama.
"Distro" Anda mungkin harus terdiri dari dua hal. 1) Satu set paket dan 2) satu set file konfigurasi. Set paket adalah daftar paket yang perlu diinstal. Ini biasanya dapat dirakit dalam file teks dan kemudian Anda dapat menggunakan sebagian besar manajer paket distro untuk menginstal daftar paket ini ke target (baik hard drive atau direktori yang akan menjadi titik mount Anda). File-file konfigurasi mungkin harus disimpan di
git
atau sistem kontrol sumber lain dan berisi beberapa skrip dan konfigurasi apa pun yang perlu dibuat untuk sistem dasar yang diinstal dengan paket yang ditetapkan. Membangun sistem baru kemudian menjadi:package_manager --install-distro --package-set=/path/packagelist.txt --target=/path
cd /target/path
git clone /path/to/repo
(atau dengan demikian checkout kode konfigurasi Anda ke root sistem)Distro apa yang Anda gunakan sebagai basis harus bergantung pada apa yang paling nyaman bagi Anda. Saya akan menggunakan PLD-Linux untuk diri saya sendiri, tetapi mungkin merekomendasikan ArchLinux sebagai sistem yang sama tetapi lebih baik untuk pendatang baru. Tidak ada alasan Debian , Fedora , atau Gentoo tidak bekerja untuk ini.
sumber
dwm
atauawesome
. Bagaimana saya bisa memberi tahu manajer jendela untuk memulai aplikasi tanpa bilah judul dalam mode layar penuh?apt-get
atauaptitude
di Debian.Buildroot 2016.05 + Midori
Buildroot adalah alat yang hebat untuk membangun distro minimal:
.config
fileMidori browser berbasis WebKit minimalis , dan Buildroot memiliki paket Midori bawaan.
.config
file yang digunakan: https://github.com/cirosantilli/buildroot-configs/blob/32d1174e0bf8d00b92323eebe8901af3f8c389d3/2016.05/qemu_x86_64_x11_midori_defconfigCara membuat file konfigurasi itu:
make menuconfig
mesa3d
Bersihkan bangunan karena kami mengubah rantai alat dan membangun lagi:
Tunggu berjam-jam. Lalu yang biasa:
Dan dari dalam QEMU:
dan dari GUI X11 klik sebuah
xterm
jendela dan jalankan:Hasil:
Ukuran gambar: 220M! Bandingkan dengan 28M dari sistem X11 telanjang Bagaimana cara menginstal X11 pada sistem Linux Buildroot saya sendiri? - Unix & Linux Stack Exchange . Mungkin karena dependensi WebKit + GTK3.
Diuji pada host Ubuntu 16.04, QEMU 2.5.0.
NetSurf
Ditulis dalam SDL, yang mendukung fbdev: http://www.netsurf-browser.org/about/screenshots/#framebuffer
fbdev adalah antarmuka tingkat rendah yang ditawarkan oleh modul kernel Linux yang tidak melalui X11 (saya pikir X11 secara opsional dapat menggunakannya sebagai backend). Anda pada dasarnya hanya menulis ke memori dan itu muncul di layar.
Untuk menggunakan fbdev di Ubuntu, Anda harus menggunakan TTY (mis. Ctrl + Alt + F1).
Jadi Anda mungkin bisa lolos dengan gambar yang jauh lebih kecil daripada Midori.
Buildroot 2016.05 memiliki paket
netsurf-buildsystem
yang harus menyediakannya, tetapi saya belum mengujinya. Jika seseorang berhasil menjalankannya, harap edit tautan ke .config, tangkapan layar, dan ukuran gambar.sumber
Saya telah menulis skrip bash kecil yang mengambil ISO Arch Linux dan menghasilkan ISO baru dengan image root yang dimodifikasi yang melakukan instalasi otomatis penuh. Ini termasuk mempartisi serta mengatur dan mengkonfigurasi sistem dengan Xorg, FVWM, dan Chromium. Sistem yang terinstal akan masuk secara otomatis dan memulai Chromium. Cukup letakkan ISO baru pada USB flash drive dan sandarkan. ;-)
Penafian: skrip diberikan apa adanya, tidak ada garansi yang diberikan. Saya belum menggunakannya dalam beberapa saat, jadi mungkin perlu tweak di sini atau di sana. Ubah sesuai kebutuhan.
sumber
Untuk sistem seperti ini, saya akan merekomendasikan Puppy .
Meskipun Anda dapat membuat distro Anda menggunakan versi Linux apa pun, Puppy membuatnya sangat mudah untuk membuat gambar yang dapat di-boot sendiri, dirancang agar ringkas dan memiliki dukungan sistem file overlay yang hebat.
Tidak - Saya akan merekomendasikan untuk membangun image yang dapat di-boot yang menurut Anda dapat dipertahankan - pendekatan yang Anda sarankan akan kembali dan menggigit Anda.
sumber
Beberapa orang menyebutkan uzbl dan saya setuju itu adalah pilihan yang bagus - tetapi Anda mungkin menemukan luakit lebih baik.
Seperti Caleb telah disebutkan, Anda tidak benar-benar membutuhkan setiap window manager. Berikut ini contoh skrip yang saya buat untuk menjalankan server Xorg tanpa WM dengan peramban luakit yang dimaksimalkan:
Ia menggunakan xdotool untuk memaksimalkan jendela setelah luakit dimulai. Mungkin ada solusi yang lebih baik untuk itu ...
Untuk basis sistem seperti itu, saya pasti akan merekomendasikan Gentoo. Itu bukan hanya karena saya tahu yang terbaik;) tetapi juga karena ia menggunakan pendekatan yang agak unik mengelola secara global opsi waktu pembuatan semua perangkat lunak yang diinstal. Maksud saya flag USE . Dengan menggunakan itu, Anda menentukan serangkaian fitur / pustaka / standar yang digunakan oleh semua program yang mendukungnya - jadi, misalnya, jika Anda ingin program Anda menggunakan ALSA dan tidak memerlukan backend audio tambahan seperti esd, jack atau pulseaudio, Anda letakkan di
alsa -jack -esd -pulseaudio
antara bendera USE Anda. Setelah itu, setiap perangkat lunak yang Anda bangun bisamenggunakan backend audio tambahan selain ALSA akan dibangun tanpa dukungan untuk itu. Karena ini terjadi pada tingkat konfigurasi / build, Anda berakhir dengan perangkat lunak thiner secara signifikan. Jadi ini adalah filosofi membangun (sambil menghormati semua ketergantungan) alih-alih menelanjangi (yang pada akhirnya bisa menjadi kereta dan sangat sulit dipertahankan).sumber
Saya akan menyebutkan ini karena saya terkejut tidak ada orang lain yang memilikinya.
Linux from Scratch adalah buku (pdf) yang menuntun Anda melalui pembuatan distribusi Linux Anda sendiri. Mungkin berlebihan untuk apa yang ingin Anda capai (sebenarnya, itu terlihat karena Anda sudah memiliki alat yang Anda butuhkan), tetapi itu bisa membuktikan menjadi alat yang tak ternilai dalam memahami cara kerja sistem. Ini benar-benar tidak sulit dan tidak ada pemrograman yang terlibat.
sumber