After installing Debian 10 Buster

what I will do when after installing Debian 10, the buster version.

This is a brief guideline to help the DEVs who likes Debian release version.

but I use devuan version because of systemd issues.

Download ISO

use dd to burn it to usb:

dd if=debian-10.10.0-amd64-i386-netinst.iso of =/dev/sd# #some thing like /dev/sdb not /dev/sdb1.

Download non-free firmware

I use tsinghua mirror. download it and unzip it to extra USB:

Install Debian 10 Buster

choose use entire disk with LVM with encryption to make a robust system.

after installation, change /etc/apt/source.list to 163 mirror. also change debian-security source otherwise it will extremely slow.

set font size to 12.

install xfce4

use dwm now.

cd ~/.local/share/applications # here is the startup menu.

cat ~/.bashrc # define some useful alias.

there are a bunch of features in Window Manager & Window Manager tweak:

  • use the mouse wheel on the desktop to switch workspaces # opt off
  • hide title of windows when maximized # opt off
  • click and drag the buttons to change the layout # opt off the scroll up buton
  • raise window when clicking inside application window # opt off
  • raise windows when any mouse button is pressed # opt off to prevent scrolling another window but lost focus
  • use mouse wheel on title bar to roll up window # opt off

set my screen resolution to 1600*900.

if you want to start x from command:


enable tap-to-click on Debian 10

add the following package and change the option in Mouse. then you can touch the touchpad to click.

apt install xserver-xorg-input-synaptics

also you may need to copy

copy /usr/share/X11/xorg.conf.d/70-synaptics.conf /etc/X11/xorg.conf.d/
add follows:
Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"
# This option is recommend on all Linux systems using evdev, but cannot be
# enabled by default. See the following link for details:
        MatchDevicePath "/dev/input/event*"
	Option "TapButton1" "1"            #单指敲击产生左键事件
        Option "TapButton2" "3"            #双指敲击产生中键事件
#       Option "TapButton3" "2"            #三指敲击产生右键事件

        Option "VertEdgeScroll" "on"       #滚动操作:横向、纵向、环形
        Option "VertTwoFingerScroll" "on"
        Option "HorizEdgeScroll" "off"
        Option "HorizTwoFingerScroll" "off"
        Option "CircularScrolling" "off"
        Option "CircScrollTrigger" "2"

        Option "EmulateTwoFingerMinZ" "40" #精确度
        Option "EmulateTwoFingerMinW" "8"
        Option "CoastingSpeed" "20"        #触发快速滚动的滚动速度

        Option "PalmDetect" "1"            #避免手掌触发触摸板
        Option "PalmMinWidth" "3"          #认定为手掌的最小宽度
        Option "PalmMinZ" "200"            #认定为手掌的最小压力值


remove firefox title bar

select Menu -> Customize -> opt off the bottom Title bar box.

set firefox to save no password.

change search engine to duckduckgo.

install more firefox plugins:

lastpass use keepassxc now.


ublock origin : add china list to fillter.


mutil-account container

temporary container

video downloadhelper

Disable Notification

always check if firefox is your default browser. # opt in

preferences -> privacy & security -> notifications -> block new requests asking to allow notifications

add shortcut to uxterm

there are 2 places to put the shortcut: 1 is keyboard shortcut; 2 is Window Manager shortcut.

add following to Keyboard / Application Shortcuts:

xfce4-terminal #I prefer to use Ctrl+Alt+z

add a shortcut to show desktop in Window Manager / Keyboard

show desktop # Ctrl+d


add following command to shortcut, I prefer to Ctrl+a.

apt install imagemagick ffmpeg

import -r #parameter -r indicates region cut.


then you can run commands: ifconfig, reboot without full path.


/etc/profile #this will work when interactive login.

crontab #this will use its own PATH

add extra path to ~/.bashrc # This will work.

export PATH=$PATH:/sbin

extra tools

add more packages so that I can use ifconfig, dig, aria2c, ssh, scp, openvpn, vim command.

apt install net-tools dnsutils vim aria2 shadowsocks-libev ssh wget curl whois
apt install tmux
apt install dnscrypt-proxy unbound
apt install nginx

in nginx ‘s conf: location / add : autoindex on;

apt install thunderbird gnucash keepassxc filezilla transmission

GIMP is a tools can edit pictures.

Audacity can modify audio files.

Kdenlive can make simple videos.

apt install audacity gimp kdenlive

apt install bluetooth bluez


apt install ufw 
  • ufw default deny incoming
  • ufw default allow outgoing
  • ufw enable

Enigmail for thunderbird

apt install enigmail

set junk email rules:


apt install nextcloud-desktop


apt install vlc 
apt install libavcodec-extra gstreamer1.0-libav gstreamer1.0-plugins-ugly gstreamer1.0-vaapi


apt install fcitx
apt install fcitx-table-wbpy #五笔拼音输入法
apt install fcitx-mozc #japanese input method

set timezone

dpkg-reconfigure tzdata

use local DNS and hosts

use localhost instead of and config /etc/hosts properly.

chattr +i resolv.conf #change this so that no one can edit it.


VirtualBox is not available in Buster so that the official suggest virt-manager:

apt install firmware-linux
apt install virt-manager


wine & wine-development are both stable versions. wine-development is newer than wine.

apt install wine-development winetricks

also, we will need to enable & install wine 32 bit version.

dpkg --add-architecture i386 && apt update && apt install wine32-development

fix Chinese fonts:

apt install fonts-wqy-microhei

copy windows xp font to /usr/share/fonts/xp, this will make dedian ugly. you can put it to ~/.wine/windows/Fonts.

create a file “ch_font.reg” and copy the following content to it: #pls make sure to use wqy-microhei.ttc instead of wqy-microhei.

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink]
"Lucida Sans Unicode"="wqy-microhei.ttc"
"Microsoft Sans Serif"="wqy-microhei.ttc"
"MS Sans Serif"="wqy-microhei.ttc"
"Tahoma Bold"="wqy-microhei.ttc"
"Arial Black"="wqy-microhei.ttc"
wine regedit ch_font.reg





install zh_CN.UTF-8 :

locale -a # check if zh_CN.UTF-8 exists.
dpkg-reconfigure locales # select zh_CN.UTF-8 then generate it.


this is a 64 bit program. so it needs wine64.

apt install winbind #fix ntlm_auth error problem

download it:

wine it.


download it: (goutai junan stock software)

env LANG=zh_CN.UTF-8 wine Setup_Fuyi_simple_200227.exe # use locale -a to make use zh_CN.UTF-8 exists. if not you must use locale-gen to generate it.

use winetricks to install MFC42.DLL

add LANG=zh_CN.UTF-8 to run the gtja command.

download gecko(this is a wine version firefox engine instead of IE, but patched out of Debian distribution) :

wine-development msiexec /i wine_gecko-2.47-x86_64.msi # install it manully. also install x86 architecture wine_gecko-2.47-x86.msi.

or you can put wine_gecko-2.47-x86_64.msi to /usr/share/wine/gecko.

download mono and put it to /usr/share/wine/mono too. Mono is a .Net framework.

Ja: yes; Nein: no.

tty 终端中文为方框:



TTY终端无法显示中文字符的原因,是内核无法渲染中文字符,我的理解是:因为中文字符的显示模式、宽度与英文字符不同, 默认输出英文字符的framebuffer(帧缓冲区)无法支持中文的完整显示。如果你使用SSH等其它方式,字符并不是由内核渲染输出,所以正常显示了。

让 linux TTY终端支持中文显示的方法有两种思路:






之前这个补丁沉寂了一段时间,但是近期(2020年末)我惊喜的发现有大佬开始维护这个内核中文补丁了,并且Arch Gentoo(Gentoo-zh) 均有打包好的内核可以使用。(PS:国产银河麒麟V10是一样的方法实现了内核中文输出)


Arch 系列发行版在 AUR 中搜索cjktty即可看到打好补丁的内核

Gentoo 配置添加Gentoo-zh源,里面的两个内核也都打好了补丁



可以使用 ls 配合 awk 选择中文文件操作

我选择 fbterm(bash有一个补全包也可以) 去选择补全中文路径

apt install gopher irssi lynx dillo fbterm fcitx-frontend-fbterm

DEV tools

apt install git pelican uwsgi python3-pip


python3 -m pip install django
apt install mariadb-server mariadb-client


pip freeze > requirements.txt # make a env file

pip install -r requirements.txt # prepare the env


add splash parameter to boot process: /etc/default/grub


copy a beautiful picture to /boot/grub to name it “backgroud.jpg” to make a grub backgroud.

run update-grub to update the boot.


the debian package manager supplys the steam package. you can also download it from official site.

dpkg-deb -c steam_latest.deb # show the content of a package.
apt install steam

how to install deb

  • dpkg -i youowndeb.deb
  • dpkg -l | grep youowndeb # check if youowndeb installs succesfully
  • dpkb -r youowndeb # remove youowndeb
  • dpkg -P youowndeb # remove youowndeb & its configuration
  • dpkg-deb -c youowndeb.deb # list the content of youowndeb.deb

how to install a dsc

if you want to manipulate the installation manually without apt. you need to:

put your own src to /usr/local/src

  • dpkg-source -x yourfile.dsc # regenerate the source files
  • dpkg-buildpackage -rfakeroot -b # build a own deb package
  • dpkg -i ../yourfile_arch.deb # install your own deb

vulkan & dxvk & vkd3d

vulkan: a cut edge technology to implement 3D, the other choices are openGL & Driect3D 11.

dxvk: debian version vulkan. a translation layer to vulkan.

vkd3d: is a graphic library built on vulkan.

VKD3D performance is not the best and usually Direct 3D 11 is running faster on top of DXVK and Vulkan.

apt install vulkan-utils dxvk mesa-vulkan-drivers vkd3d-demos

vkcube # make sure vkd3d works

vulkaninfo # make sure vulkan works

secure boot vs. CSM OS vs. UEFI OS

Other Software

  • peek # record the screen
  • scratch # make a simple catoon or game
  • krita #
  • gparted #
  • hexedit #
  • hexchat #
  • audacious # listen to music
  • terminology # a terminal
  • neofetch # show a summary info of your pc hardwares
  • tlp # improve the battery performance
  • clamav
  • seahorse
  • bluez blueman
  • nmap
  • freetuxtv
  • streamtuner2
  • goldendict
  • minicom
  • gpodder
  • keepassxc

Music: audacious mixxx clementine hydrogn

Video: VLC kdenlive

Radio: streamtuner2

IPTV: freetuxtv

OFFICE: goldendict gnucash

Download: amule filezilla

Podcast: gpodder

Administration: keepassxc


Internet: amule hexchat liferea qterm remmina

vnc viewer


linux version of app store

apt install snapd

snap install odio



debian multimedia



remmina # a VNC connector

mixxx # a DJ emulator

gpodder # manage podcast

liferea # RSS

goldendict # linux diectionary

clementine # a great music tool

apt install hydrogen remmina mixxx clementine gpodder liferea 

rig # make a fake indentity.

qterm # bbs client

cadubi #

amule # linux version of emule

apt install telnet rig qterm cadubi amule 

minicom is a seril port that you can connect raspeberry pi via USB-TTL adapter.

apt install minicom

netease music player

my own pc

use neofetch to show the exact model.

apt install xserver-xorg-video-intel # install display driver

cope with dongle wifi adapter

my dongle wifi model is : TL-WN726N

  • lsusb
  • dmesg
  • 查看设备的ID,
  • 查看他的芯片组,
  • google他的硬件信息,
  • 查看debian官方支持的硬件,
  • 上硬件官网查找驱动,
  • 上github查找开源驱动。
  • 下载源码,编译驱动。


  • md5sum
  • lsmod
  • modinfo
  • uname -a
  • lsb_release -a
  • cat /proc/cmdline
  • update-initramfs -u


  • screen will be totally black after suspend resume. pls see:

  • can’t browse network in Thunar(Files explorer), need to install the following package:

Failed to open “/ on”. Specified location is not supported.

apt install gvfs-backends

failed to retrieve share list from server: no such file or directory

apt install cifs-utils smbclient samba
  • when start Virtual Machine encounter this error:

Error starting domain: Requested operation is not valid: network ‘default’ is not active:

Solution: Virtual Machine Manager -> Edit -> Connection Details -> Virtual Networks -> click the start default button.

  • su will not run the login process.
su - # the parameter - will make login process run.
  • Could not load wine-gecko. HTML rendering will be disabled.

the wine-gecko is not inclueded in Debian buster. you need to install both x86 & x68_64 version manully.

  • [WARN] aria2c had to connect to the other side using an unknown TLS protocol. The integrity and confidentiality of the connection might be compromised.

this is just GnuTLS library reporting that it’s using TLS 1.3 and aria2c not understanding what “TLS 1.3” is. you need to compile aria2c to newest version manually.

  • warn: OpenVR: Failed to locate module

I found “*d3d9” rule setted as native. Disabling this rule solved problem.

  • err:ole:CoGetClassObject no class object {2c5bc43e-3369-4c33-ab0c-be9469677af4} could be created for context 0x1
  • err:vulkan:wine_vkCreateInstance Failed to create instance, res=-9


apt install dxvk
apt install vulkan-validationlayers

apt-get install libvulkan1 libvulkan1:i386

apt-get install mesa-vulkan-drivers mesa-vulkan-drivers:i386

winetricks d3dx11_43 dxvk


  • fixme:vkd3d_create_device: Unsupported feature level 0xc100

winedebug=+seh,+dxgi,+d3d12 VKD3D_DEBUG=”trace”

  • trace:vkd3d_create_device: create_info 0x32f450, iid {189819f1-1db6-4b57-be54-1821339b85f7}, device (nil)

  • “err:ole:CoGetClassObject class {54e211b6-3650-4f75-8334-fa359598e1c5} not registered”


set to win7 will fix this error.

  • vulkan bug:

vulkanrt install completed, but installed file /home/hht/.wine/dosdevices/c:/windows/syswow64/vulkan-1.dll not found

download it and cope it there.


install winehq:

unzip 中文,日文乱码:

LANG=C 7za x
convmv -f GBK -t utf8 --notest -r . # 中文的编码为 GBK
convmv -f Shift_JIS -t utf8 --notest -r . # 日文的编码为 Shift_JIS

use Libreoffice to convert a Windows file to a UTF-8 file to solve the Chinese character problem :

soffice  --headless --convert-to csv afile.xls

Spec For Asus laptop:

systemctl disable mysql
systemctl disable smbd
systemctl disable libvirtd
systemctl disable bluetooth


  • nslookup #give you a reverse DNS lookups
  • update-initramfs -u #It will update the kernel. a batch of update-* command
  • find /demo -name “*.js” |xargs cat|grep -v ^$|wc -l # 统计demo目录下所有js文件代码行数,过滤了空行