Difference between revisions of "Template:DebianBusterDesktop-Common"

From FriendlyELEC WiKi
Jump to: navigation, search
(updated by API)
 
(updated by API)
Line 5: Line 5:
  
 
Root:
 
Root:
     User Name: root
+
     the root user account is disabled by default, you may configure the root password through the 'sudo passwd root' command.
    Password: fa
+
  
===WiFi Connection===
+
===View IP address===
Click on the icon on the top right in the FriendlyDesktop's main window, select your wanted WiFi hotspot and proceed with prompts
+
Since the Debian Buster hostname is FriendlyElec.lan by default, you can use the ping command to get the IP address:
 +
<syntaxhighlight lang="bash">
 +
ping FriendlyElec.lan
 +
</syntaxhighlight>
  
===HDMI/DP LCD Resolution===
+
===Connect to Debian via SSH===
Open the system's menu and go to Perferences -> Monitor Settings to customize your settings.<br />
+
Recommended resolution: 1920x1080@60Hz
+
 
+
===Adjust HDMI overscan ===
+
Open the command line terminal and enter the command to operate, Note:<br />
+
1) You need to login to the desktop;<br />
+
2) If you are using ssh terminal, please use the same username as the desktop login. The default is pi. You cannot use the root user. you also need to assign the DISPLAY variable:<br />
+
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
export DISPLAY=:0.0
+
ssh pi@FriendlyElec.lan
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
The default password is: pi
  
====Query which resolutions the display supports====
+
===Update Software Packages===
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
xrandr -q
+
$ sudo apt-get update
 
</syntaxhighlight>
 
</syntaxhighlight>
====Set resolution====
+
 
For example set to 1920X1080@60Hz:
+
===Install the kernel-header package===
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
xrandr --output HDMI-1 --mode 1920x1080 --refresh 60
+
sudo dpkg -i /opt/linux-headers-*.deb
 
</syntaxhighlight>
 
</syntaxhighlight>
====Adjust the HDMI overscan====
+
 
For example, the transformation scaling horizontal coordinates by 0.8, vertical coordinates by 1.04 and moving the screen by 35 pixels right and 19 pixels down:
+
===Change time zone===
 +
====Check the current time zone====
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
xrandr --output HDMI-1 --transform 0.80,0,-35,0,1.04,-19,0,0,1
+
timedatectl
 
</syntaxhighlight>
 
</syntaxhighlight>
====Automatic adjustment at boot====
+
====List all available time zones====
Edit ~/.config/autostart/lxrandr-autostart.desktop,Write the full xrandr command to the key at the beginning of "Exec= as shown below:
+
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
[Desktop Entry]
+
timedatectl list-timezones
Type=Application
+
Name=LXRandR autostart
+
Comment=Start xrandr with settings done in LXRandR
+
Exec=sh -c 'xrandr --output HDMI-1 --mode 1920x1080 --refresh 50 --transform 1.04,0,-35,0,1.05,-30,0,0,1'
+
OnlyShowIn=LXDE
+
 
</syntaxhighlight>
 
</syntaxhighlight>
 
+
====Set the time zone (e.g. Shanghai)====
===eDP LCD Display Rotation===
+
If you want to rotate an eDP LCD's display you can do it by commanding "xrotate.sh" to rotate its display to 90/180/270 degrees.
+
You can rotate display clockwise by 90 degrees by running the following command as root. This command calls lightdm to make your change effective immediately:
+
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
sudo xrotate.sh -m CW -r
+
sudo timedatectl set-timezone Asia/Shanghai
 
</syntaxhighlight>
 
</syntaxhighlight>
For more details about its options you can run "xrotate -h".<br/>
 
Note: this command doesn't support HDMI display's rotation. If you want to rorate an HDMI's display you need to refer to X11's tech documents and make changes in "/etc/X11/xorg.conf".
 
  
'''Note: when you play a video with hardware decoding your player's display window doesn't rotate with your LCD's display'''
+
===Change startup LOGO and Wallpaper===
 
+
====Change startup LOGO====
===Test OpenGL ES===
+
Replace the following two files in the kernel source code directory and recompile the kernel:<br/>
You can test it by clicking on the Terminator icon to start a commandline utility in the System Tools and run the following commands:
+
kernel/logo.bmp<br/>
 +
kernel/logo_kernel.bmp<br/>
 +
Or use the script to operate, as shown below:
 +
* Download scripts:
 +
{{#switch: {{{1}}}
 +
| NanoPi-NEO3
 +
| NanoPi-R2S
 +
| NanoPi-R2C-Plus
 +
| NanoPi-R2C =
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
taskset -c 4-5 glmark2-es2
+
git clone https://github.com/friendlyarm/sd-fuse_rk3328.git -b kernel-4.19
 +
cd sd-fuse_rk3328
 
</syntaxhighlight>
 
</syntaxhighlight>
[[File:Friendlydesktop-glmark-es.png|400px]]<br />
+
| NanoPi-R5S =
[[File:Friendlydesktop-glmark-es2-score.jpg|400px]]<br />
+
 
+
===4K Video Playing===
+
====Play with Qt Player with Hardware Decoding====
+
FriendlyDesktop has integrated a Qt5-VideoPlayer utility. This utility has support for Rockchip's gstreamer plug-in and supports 4K video playing with hardware decoding. You can start it by following the steps below:
+
On FriendlyDesktop's main window open "Sound & Video" and click on "Qt5-VideoPlayer".<br />
+
<br />
+
On the player's main window click on the bottom left's "Open" button to load a video file and double-click on its name on the file list to start video playing. Here is how it looks like. You can set the display window to full screen and adjust the volume:<br />
+
[[File:Friendlydesktop-player.jpg|frameless|480px]]<br />
+
 
+
====Play with Linux Command====
+
You can play it by running the following command in a commandline utility:
+
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
gst-player.sh
+
git clone https://github.com/friendlyarm/sd-fuse_rk3568.git -b master
 +
cd sd-fuse_rk3568
 +
| NanoPi-R6S =
 +
<syntaxhighlight lang="bash">
 +
git clone https://github.com/friendlyarm/sd-fuse_rk3588.git -b master
 +
cd sd-fuse_rk3588
 
</syntaxhighlight>
 
</syntaxhighlight>
By default its voice will be output to audio jack. You can locate this script by commanding "which gst-player.sh". You can customize its behavior by making changes in this script.
+
| #default =
 
+
===Work with USB Camera===
+
Insert the USB camera (such as Logitech C270/C920) into the development board. Double click the "USB Camera" icon on desktop will pop up the luvcview gui (need to use the 2019/05/11+ version firmware). <br />
+
the luvcview tool is an open source software that you can compile yourself:<br />
+
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
git clone https://github.com/ksv1986/luvcview
+
git clone https://github.com/friendlyarm/sd-fuse_rk3399.git -b kernel-4.19
cd luvcview
+
cd sd-fuse_rk3399
make
+
 
</syntaxhighlight>
 
</syntaxhighlight>
View the usage of luvcview:
+
}}
 +
* Compile kernel and repackage firmware
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
./luvcview -h
+
convert files/logo.jpg -type truecolor /tmp/logo.bmp
 +
convert files/logo.jpg -type truecolor /tmp/logo_kernel.bmp
 +
LOGO=/tmp/logo.bmp KERNEL_LOGO=/tmp/logo_kernel.bmp ./build-kernel.sh eflasher
 +
LOGO=/tmp/logo.bmp KERNEL_LOGO=/tmp/logo_kernel.bmp ./build-kernel.sh debian-buster-desktop-arm64
 +
./mk-emmc-image.sh debian-buster-desktop-arm64
 
</syntaxhighlight>
 
</syntaxhighlight>
Parameter Description:
+
====Change Wallpaper====
 +
Modify the following configuration file:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
luvcview version 0.2.1
+
/home/pi/.config/pcmanfm/LXDE/desktop-items-0.conf
Usage: uvcview [-h -d -g -f -s -i -c -o -C -S -L -l -r]
+
-h print this message
+
-d /dev/videoX use videoX device
+
-g use read method for grab instead mmap
+
-w disable SDL hardware accel.
+
-f video format default jpg others options are yuv jpg
+
-i fps use specified frame interval
+
-s widthxheight use specified input size
+
-c enable raw frame capturing for the first frame
+
-C enable raw frame stream capturing from the start
+
-S enable raw stream capturing from the start
+
-o avifile create avifile, default video.avi
+
-L query valid video formats
+
-l query valid controls and settings
+
-r read and set control settings from luvcview.cfg
+
 
</syntaxhighlight>
 
</syntaxhighlight>
To preview USB camera (640x360@30fps),  you can use the following command:
+
 
 +
===Soft Factory Reset===
 +
Execute the following command in a terminal:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
./luvcview -d /dev/video8 -i 30 -s 640x360
+
sudo firstboot && sudo reboot
 
</syntaxhighlight>
 
</syntaxhighlight>
As you can see from the output of luvcview, hardware acceleration has been turned on:
+
 
 +
===Start the program automatically at startup(For example Kodi)===
 +
Put the desktop file in the ~/.config/autostart/ directory, for example:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
pi@NanoPC-T4:/etc/xrdp$ luvcview -d /dev/video8 -i 30 -s 640x360
+
mkdir ~/.config/autostart/
luvcview version 0.2.1
+
cp /usr/share/applications/kodi.desktop ~/.config/autostart/
interval: 30 fps
+
Hardware acceleration available
+
video /dev/video8
+
 
</syntaxhighlight>
 
</syntaxhighlight>
  
===File Transfer with Bluetooth===
+
===Disable auto-mounting===
Click on the "Preferences" in the main window's menu to start Bluetooth Manager and click on "Search" to search surrounding Bluetooth devices. Click on your wanted device, pair the device with your board and you will be able to do file transfer, here is how it looks like:<br />
+
[[File:Friendlydesktop-ble-sendfile.jpg|500px]]<br />
+
 
+
===Install OpenCV===
+
OpenCV has been pre-installed in FriendlyCore/FriendlyDesktop (Version after 201905) and does not require manual installation.<br />
+
Please refre this link: https://github.com/friendlyarm/install-opencv-on-friendlycore/blob/rk3399/README.md
+
 
+
===Develop Qt Applications===
+
FriendlyDesktop has a Qt 5.10.0 which supports RK3399's OpenGL ES and Gstreamer 1.0 hardware acceleration and a QtCreator IDE which is ready  and can be used to compile and run applications. Here is how it looks like:<br />
+
[[File:friendlydesktop-qtcreator.png|500px]]<br />
+
When running the Qt app, you need to specify the platform parameter to xcb as follows:
+
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
./HelloQt --platform xcb
+
sudo systemctl mask udisks2
 +
sudo reboot
 
</syntaxhighlight>
 
</syntaxhighlight>
  
===WiringPi and Python Wrapper===
+
===Setup Chinese language and Input method===
*[[WiringPi for RK3399/zh|WiringPi for RK3399]]
+
====Setup Chinese language====
*[[WiringPi-Python for RK3399/zh|WiringPi-Python for RK3399]]
+
Enter the following command and select 'zh_CN.UTF-8':
 
+
===Switch audio default output device===
+
====View the current default output device====
+
On the terminal of the non-root user, enter the following command:
+
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
pactl info -vvv
+
sudo dpkg-reconfigure locales
 
</syntaxhighlight>
 
</syntaxhighlight>
The information displayed contains the following, indicating that the current audio output is directed to the headset:
+
Add environment variables to .bashrc:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Default Sink: alsa_output.platform-rt5651-sound.stereo-fallback
+
echo "export LC_ALL=zh_CN.UTF-8" >> ~/.bashrc
 +
echo "export LANG=zh_CN.UTF-8" >> ~/.bashrc
 +
echo "export LANGUAGE=zh_CN.UTF-8" >> ~/.bashrc
 
</syntaxhighlight>
 
</syntaxhighlight>
The information displayed contains the following, indicating that the current audio output is to HDMI:
+
Reboot device:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Default Sink: alsa_output.platform-hdmi-sound.stereo-fallback
+
sudo reboot
 
</syntaxhighlight>
 
</syntaxhighlight>
====Set headphone jack as the default output device====
+
====Installing Chinese input method====
On the terminal of the non-root user, enter the following command:
+
Enter the following command to install fcitx and Pinyin input method:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
pactl set-default-sink  alsa_output.platform-rt5651-sound.stereo-fallback
+
sudo apt update
 +
sudo apt-get install fcitx fcitx-pinyin
 +
sudo apt-get install im-config
 +
sudo apt-get install fcitx-table*
 +
sudo apt-get install fcitx-ui-classic fcitx-ui-light
 +
sudo apt-get install fcitx-frontend-gtk2 fcitx-frontend-gtk3 fcitx-frontend-qt4
 +
sudo apt-get remove --purge scim* ibus*
 +
sudo reboot
 
</syntaxhighlight>
 
</syntaxhighlight>
Set default volume to 20%:
+
After reboot, press Ctrl+Space to switch between Chinese and English input methods, and the input method icon will appear in the upper right corner, right-click the input method icon in the upper right corner to switch input methods in the pop-up menu, as shown below:<br />
 +
[[File:Debian10-chinese-im.png|frameless|480px]]<br />
 +
 
 +
===Install x11vnc Server on Debian for Remote Access===
 +
====Install x11vnc server====
 +
The following command to install x11vnc server:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
pactl -- set-sink-volume alsa_output.platform-rt5651-sound.stereo-fallback 20%
+
sudo apt-get install x11vnc
 
</syntaxhighlight>
 
</syntaxhighlight>
====Set hdmi as the default output device====
+
====Set your password====
On the terminal of the non-root user, enter the following command:
+
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
pactl set-default-sink  alsa_output.platform-hdmi-sound.stereo-fallback
+
sudo x11vnc -storepasswd /etc/x11vnc.pwd
 
</syntaxhighlight>
 
</syntaxhighlight>
==== View settings have taken effect ====
+
====Setup x11vnc server with systemd auto start up====
 +
Create service configuration file:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
cat /var/lib/pulse/*-default-sink
+
sudo vi /lib/systemd/system/x11vnc.service
 
</syntaxhighlight>
 
</syntaxhighlight>
 
+
Let’s copy and paste the following configuration into our newly create service file:
====Temporary switching during playback ====
+
This method is only valid for the current playback process: <br />
+
Open the menu "Sound & Video" -> "PulseAudio Volume Control", click the "Built-in Audio Stereo" button on the interface to switch between different output devices, such as switching between HDMI and headphone jack.
+
 
+
===Play RTSP video stream (or IP Camera) ===
+
Open a command line terminal and enter the following command:
+
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
gst-launch-1.0 rtspsrc location="rtsp://admin:12345@192.168.1.120:554/live/main" ! rtph264depay ! decodebin ! rkximagesink
+
[Unit]
</syntaxhighlight>
+
Description=Start x11vnc at startup.
Change the address after rtsp:// to the real address.
+
Requires=display-manager.service
 +
After=syslog.target network-online.target
 +
Wants=syslog.target network-online.target
  
===Chromium web browser ===
+
[Service]
Chromium web browser has enabled hardware acceleration by default, supports WebGL, and can view hardware acceleration details by entering the URL chrome://gpu, as shown below:<br />
+
Type=simple
[[File:Chromium-gpu.png|frameless|400px]]
+
ExecStart=/usr/bin/x11vnc -display :0 -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pwd -rfbport 5900 -shared -capslock -nomodtweak
 +
ExecStop=/usr/bin/x11vnc -R stop
 +
Restart=on-failure
  
===Screen saver and auto sleep related settings ===
+
[Install]
The screen saver configuration file is /etc/xdg/autostart/xset_command.desktop. The default factory settings are that the screen saver and DPMS are both closed. You can change the configuration by modifying this file.
+
WantedBy=multi-user.target
 
+
===Install Scratch===
+
enter the following command:
+
<syntaxhighlight lang="bash">
+
sudo apt-get install scratch:arm64
+
 
</syntaxhighlight>
 
</syntaxhighlight>
 
+
The following commands to reload the systmd system and to enable and start the x11vnc service:
===Install Arduino IDE===
+
enter the following command:
+
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
sudo apt-get install arduino:arm64
+
sudo systemctl daemon-reload
 +
sudo systemctl enable x11vnc.service
 +
sudo systemctl start x11vnc
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
====Testing remote access====
 +
Start the VNC client software, input IP:5900 to connect:<br />
 +
[[File:Debian10-x11vnc.png|frameless|480px]]<br />
  
===Start the program automatically at startup===
+
===Install Docker Engine on Debian===
Put the desktop file in the ~/.config/autostart/ directory, for example:
+
The docker installer uses iptables for nat, unfortunately Debian uses nftables, here we just setup Debian to use the legacy iptables:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
cp /usr/share/applications/org.qt-project.qtcreator.desktop ~/.config/autostart/
+
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
 +
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
 
</syntaxhighlight>
 
</syntaxhighlight>
 
+
====Install Docker Engine====
===Login to the desktop as the root user===
+
Edit the /root/.profile file:
+
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
sudo vim /root/.profile
+
curl -fsSL https://get.docker.com | bash
 
</syntaxhighlight>
 
</syntaxhighlight>
Replace with the following:
+
Let’s verify:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
if [ -n "$BASH_VERSION" ]; then
+
sudo docker info
    if [ -f "$HOME/.bashrc" ]; then
+
. "$HOME/.bashrc"
+
    fi
+
fi
+
if [ -d "$HOME/bin" ] ; then
+
    PATH="$HOME/bin:$PATH"
+
fi
+
 
</syntaxhighlight>
 
</syntaxhighlight>
Run the following command to modify the lightdm configuration file and change the automatically logged-in user name to root:
+
====Run Docker as a non-root user====
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
sudo sed -i 's/autologin-user=pi/autologin-user=root/g' /usr/share/lightdm/lightdm.conf.d/20-defaultsession.conf
+
sudo groupadd docker
 +
sudo gpasswd -a ${USER} docker
 +
sudo systemctl restart docker
 +
sudo chmod a+rw /var/run/docker.sock
 
</syntaxhighlight>
 
</syntaxhighlight>
Run the reboot command to restart:
+
Let’s verify:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
sudo reboot
+
docker images
 
</syntaxhighlight>
 
</syntaxhighlight>
If you want to log in, the desktop icons and configuration are the same as the pi user, you can copy the relevant directory from the /home/pi directory:
+
====Testing Docker: Installing Nextcloud with docker====
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
sudo rm -rf /root/Desktop /root/Pictures /root/.config
+
mkdir ~/nextcloud -p
sudo cp -af /home/pi/Desktop /home/pi/Pictures /home/pi/.config /root/
+
docker run -d -p 8888:80  --name nextcloud  -v ~/nextcloud/:/var/www/html/ --restart=always --privileged=true  arm64v8/nextcloud
sudo chown root:root /root/Desktop /root/Pictures /root/.config
+
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
After installation, visit: http://Device-IP-Address:8888 on your computer browser to view the nextcloud web page.

Revision as of 06:37, 7 September 2022

1 Account & Password

Regular Account:

   User Name: pi
   Password: pi

Root:

   the root user account is disabled by default, you may configure the root password through the 'sudo passwd root' command.

2 View IP address

Since the Debian Buster hostname is FriendlyElec.lan by default, you can use the ping command to get the IP address:

ping FriendlyElec.lan

3 Connect to Debian via SSH

ssh pi@FriendlyElec.lan

The default password is: pi

4 Update Software Packages

$ sudo apt-get update

5 Install the kernel-header package

sudo dpkg -i /opt/linux-headers-*.deb

6 Change time zone

6.1 Check the current time zone

timedatectl

6.2 List all available time zones

timedatectl list-timezones

6.3 Set the time zone (e.g. Shanghai)

sudo timedatectl set-timezone Asia/Shanghai

7 Change startup LOGO and Wallpaper

Replace the following two files in the kernel source code directory and recompile the kernel:
kernel/logo.bmp
kernel/logo_kernel.bmp
Or use the script to operate, as shown below:

  • Download scripts:
git clone https://github.com/friendlyarm/sd-fuse_rk3399.git -b kernel-4.19
cd sd-fuse_rk3399
  • Compile kernel and repackage firmware
convert files/logo.jpg -type truecolor /tmp/logo.bmp
convert files/logo.jpg -type truecolor /tmp/logo_kernel.bmp
LOGO=/tmp/logo.bmp KERNEL_LOGO=/tmp/logo_kernel.bmp ./build-kernel.sh eflasher
LOGO=/tmp/logo.bmp KERNEL_LOGO=/tmp/logo_kernel.bmp ./build-kernel.sh debian-buster-desktop-arm64
./mk-emmc-image.sh debian-buster-desktop-arm64

7.2 Change Wallpaper

Modify the following configuration file:

/home/pi/.config/pcmanfm/LXDE/desktop-items-0.conf

8 Soft Factory Reset

Execute the following command in a terminal:

sudo firstboot && sudo reboot

9 Start the program automatically at startup(For example Kodi)

Put the desktop file in the ~/.config/autostart/ directory, for example:

mkdir ~/.config/autostart/
cp /usr/share/applications/kodi.desktop ~/.config/autostart/

10 Disable auto-mounting

sudo systemctl mask udisks2
sudo reboot

11 Setup Chinese language and Input method

11.1 Setup Chinese language

Enter the following command and select 'zh_CN.UTF-8':

sudo dpkg-reconfigure locales

Add environment variables to .bashrc:

echo "export LC_ALL=zh_CN.UTF-8" >> ~/.bashrc
echo "export LANG=zh_CN.UTF-8" >> ~/.bashrc
echo "export LANGUAGE=zh_CN.UTF-8" >> ~/.bashrc

Reboot device:

sudo reboot

11.2 Installing Chinese input method

Enter the following command to install fcitx and Pinyin input method:

sudo apt update
sudo apt-get install fcitx fcitx-pinyin
sudo apt-get install im-config
sudo apt-get install fcitx-table*
sudo apt-get install fcitx-ui-classic fcitx-ui-light
sudo apt-get install fcitx-frontend-gtk2 fcitx-frontend-gtk3 fcitx-frontend-qt4
sudo apt-get remove --purge scim* ibus*
sudo reboot

After reboot, press Ctrl+Space to switch between Chinese and English input methods, and the input method icon will appear in the upper right corner, right-click the input method icon in the upper right corner to switch input methods in the pop-up menu, as shown below:
Debian10-chinese-im.png

12 Install x11vnc Server on Debian for Remote Access

12.1 Install x11vnc server

The following command to install x11vnc server:

sudo apt-get install x11vnc

12.2 Set your password

sudo x11vnc -storepasswd /etc/x11vnc.pwd

12.3 Setup x11vnc server with systemd auto start up

Create service configuration file:

sudo vi /lib/systemd/system/x11vnc.service

Let’s copy and paste the following configuration into our newly create service file:

[Unit]
Description=Start x11vnc at startup.
Requires=display-manager.service
After=syslog.target network-online.target
Wants=syslog.target network-online.target
 
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -display :0 -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pwd -rfbport 5900 -shared -capslock -nomodtweak
ExecStop=/usr/bin/x11vnc -R stop
Restart=on-failure
 
[Install]
WantedBy=multi-user.target

The following commands to reload the systmd system and to enable and start the x11vnc service:

sudo systemctl daemon-reload
sudo systemctl enable x11vnc.service
sudo systemctl start x11vnc

12.4 Testing remote access

Start the VNC client software, input IP:5900 to connect:
Debian10-x11vnc.png

13 Install Docker Engine on Debian

The docker installer uses iptables for nat, unfortunately Debian uses nftables, here we just setup Debian to use the legacy iptables:

sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy

13.1 Install Docker Engine

curl -fsSL https://get.docker.com | bash

Let’s verify:

sudo docker info

13.2 Run Docker as a non-root user

sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo systemctl restart docker
sudo chmod a+rw /var/run/docker.sock

Let’s verify:

docker images

13.3 Testing Docker: Installing Nextcloud with docker

mkdir ~/nextcloud -p
docker run -d -p 8888:80  --name nextcloud  -v ~/nextcloud/:/var/www/html/ --restart=always --privileged=true  arm64v8/nextcloud

After installation, visit: http://Device-IP-Address:8888 on your computer browser to view the nextcloud web page.