Saya memiliki Raspberry Pi 2 dan telah mengikuti posting di Raspberrypi.org tetapi VNC Server yang Ketat tidak dimulai saat reboot. Sepertinya tidak ada kesalahan.
Bagaimana cara mendapatkan TightVncServer untuk mulai pada Pi Reboot?
Saya memiliki Raspberry Pi 2 dan telah mengikuti posting di Raspberrypi.org tetapi VNC Server yang Ketat tidak dimulai saat reboot. Sepertinya tidak ada kesalahan.
Bagaimana cara mendapatkan TightVncServer untuk mulai pada Pi Reboot?
Jawaban:
Untuk melakukan ini, Anda dapat menggunakan sedikit kepintaran Linux.
Tugas pertama kita adalah mengedit file /etc/rc.local. File ini dapat berisi perintah yang dijalankan saat start-up. Jika kita melihat file kita dapat melihat bahwa sudah ada beberapa entri di sana;
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
exit 0
Kumpulan garis pertama dengan tanda pagar (#) di depannya adalah komentar. Ini hanya ada untuk menjelaskan apa yang terjadi pada seseorang yang membaca file tersebut.
Garis-garis kode di bagian bawah jelas ada hubungannya dengan alamat IP komputer. Sebenarnya mereka adalah skrip pendek yang memeriksa untuk melihat apakah Raspberry Pi memiliki alamat IP dan jika ya, ia mencetaknya. Jika Anda ingat, Anda dapat melihat alamat IP tercetak di layar saat Pi melakukan booting seperti itu
My IP address is 10.1.1.8
Raspbian GNU/Linux 7 raspberrypi tty1
raspberrypi login:
Bagian skrip ini di rc.local adalah kode yang bertanggung jawab untuk mencetak alamat IP!
Kami akan menambahkan perintah berikut ke rc.local;
su - pi -c '/usr/bin/tightvncserver :1'
Perintah ini mengalihkan pengguna menjadi pengguna 'pi' dengan su - pi. Su adalah singkatan dari 'switch user', tanda hubung (-) memastikan bahwa lingkungan pengguna pi (seperti semua pengaturan mereka) digunakan dengan benar dan pi adalah pengguna.
Opsi -c menyatakan bahwa potongan baris berikutnya adalah perintah yang akan dijalankan dan bagian di dalam tanda kutip ('/ usr / bin / tightvncserver: 1') adalah perintah.
Perintah dalam hal ini mengeksekusi file tightvncserver yang ada di direktori / usr / bin dan menentukan bahwa kita harus memulai sesi desktop 1 (: 1).
Untuk melakukan ini kita akan mengedit file rc.local dengan perintah berikut;
sudo nano /etc/rc.local
Tambahkan baris kami sehingga file terlihat seperti berikut;
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
# Start tightvncserver
su - pi -c '/usr/bin/tightvncserver :1'
exit 0
(Kami juga dapat menambahkan komentar kami sendiri ke file untuk memberi tahu pembaca di masa depan apa yang terjadi)
Seharusnya begitu. Anda sekarang harus dapat menguji bahwa layanan dimulai ketika Pi boot dengan me-reboot.
Jika hal di atas terdengar agak panjang lebar, jangan ragu untuk melihat alasan yang lebih lengkap di sini .
Sebelum memulai pastikan Pi Anda terhubung ke jaringan internet \ via Ethernet \ wifi.
Buka Terminal dan masukkan perintah berikut:
Dapatkan Pi IP Address untuk koneksi jarak jauh (untuk digunakan nanti)
hostname -I
Instal TightVncServer
sudo apt-get update
sudo apt-get install tightvncserver
tightvncserver
Pertama kali ini dijalankan, Anda harus memasukkan kata sandi dan memverifikasinya. Tidak perlu memasukkan kata sandi tampilan saja.
Untuk mengkonfigurasi mulai otomatis sebagai layanan saat Pi boot:
Buka nano (editor teks) untuk membuat file untuk memulai secara otomatis Server Ketat VNC sudo nano /etc/init.d/tightvncserver
Ketik yang berikut ini (atau salin dan tempel ):
#!/bin/sh
# /etc/init.d/tightvncserver
# Set the VNCUSER variable to the name of the user to start tightvncserver under
VNCUSER='pi'
case "$1" in
start)
su $VNCUSER -c '/usr/bin/tightvncserver :1'
echo "Starting TightVNC server for $VNCUSER"
;;
stop)
pkill Xtightvnc
echo "Tightvncserver stopped"
;;
*)
echo "Usage: /etc/init.d/tightvncserver {start|stop}"
exit 1
;;
esac
exit 0
Tekan Ctrl + x, lalu y untuk menyimpan dan Enter untuk menyimpan nama file yang sama.
Edit izin file ini untuk membuatnya dapat dieksekusi dan aktif:
sudo chmod 755 /etc/init.d/tightvncserver
sudo update-rc.d tightvncserver defaults
Reboot untuk menguji sudo reboot
Instal klien vnc untuk OS Anda dan cobalah untuk terhubung setelah Pi telah di-boot ulang!
Untuk Windows: Klien TightVNC misalnya . Tidak perlu menginstal server.
Mulai VNC Client Connect menggunakan alamat IP dari bagian atas posting ini. Ubah alamat IP untuk Anda. Nomor port di sejumlah posting internet hanya terdaftar sebagai 2 digit. Ini singkat dan jika Anda menggunakan skrip di atas pi Anda berjalan pada port 1 maka Anda harus menggunakan 590 1 . Jika 2, maka 590 2 dll.
192.168.1.123:5901
vncserver -geometry 1366x768 -depth 24 -dpi 96
. Saya menggunakan perintah itu sebelumnya untuk mendapatkan layar penuh. Apakah ada cara untuk menambahkan baris dalam kode Anda?)
su $VNCUSER -c '/usr/bin/tightvncserver :1'
adalah apa yang menjalankan perintah yang Anda maksud. Cukup tambahkan opsi pada akhir baris itu, yang akan menghasilkan sesuatu sepertisu $VNCUSER -c '/usr/bin/tightvncserver :1' -geometry 1366x768 -depth 24 -dpi 96