玩转UOS

1.

xev | grep keycode
/usr/share/glib-2.0/schemas/com.deepin.xsettings.gschema.xml
sudo vim  /usr/bin/startdde-wayland
systemctl restart lightdm.service

  终端字体设置:

vim ~/.config/deepin/deepin-terminal/config.conf
chmod a-rw ~/.config/deepin/deepin-terminal/config.conf

[advanced.shell.default_shell]
value=

[basic.interface.expand_theme]
value=

[basic.interface.font]
value=MONACO

[basic.interface.opacity]
value=91

[basic.interface.theme]
value=Dark

  搜索系统中有哪些程序用到了libdtkwidget这个库:

sudo ls | egrep "[[:digit:]]+" | xargs -i sudo cat {}/maps | grep libdtkwidget.so       # 然后再按 pid 查看?

2. 激活

sudo apt update && sudo apt -y install qtcreator qt5-default build-essential cmake git
sudo apt install qtbase5-private-dev

 

uos-activator-cmd -s --kms kms.uniontech.com:8900:Vlc1cGIyNTBaV05v
# 开启wayland
dde-dconfig --set -a org.deepin.dde.lightdm-deepin-greeter -r org.deepin.dde.lightdm-deepin-greeter -k allowSwitchingToWayland -v true
# wayland
## Generated by deepin-installer deb [by-hash=force] https://professional-packages.chinauos.com/desktop-professional eagle main contrib non-free deb-src https://professional-packages.chinauos.com/desktop-professional eagle main contrib non-free deb [trusted=yes] http://aptly.uniontech.com/pkg/eagle-1050/release-candidate/5LiT5Lia54mIMTA1MHdheWxhbmTpgILphY3kuLvpopgyMDIxLTA5LTE3IDEzOjQzOjMz unstable main

 

# 0831
deb  [trusted=yes] https://aptly.uniontech.com/pkg/eagle-1050/release-candidate/W0RERV0xMDUw54mI5pys6L2s5rWL6K-VLTIwMjEwODMxMjAyMS0wOC0zMSAxMToxMzoyOQ/  unstable main
deb  [trusted=yes] https://aptly.uniontech.com/pkg/nonfree-eagle-1050/release-candidate/W0RERV0xMDUw54mI5pys6L2s5rWL6K-VLTIwMjEwODMxMjAyMS0wOC0zMSAxMToxMzoyOQ/  unstable non-free

 

# x11 1050
deb  [trusted=yes] http://aptly.uniontech.com/pkg/eagle-1050/release-candidate/W0RERV0xMDUwIFNQcmludDLpnIDmsYLlhajph4-lhoXmtYvkuLvpopgtLTA4MzHlpI3liLYyMDIxLTExLTEyIDEzOjE3OjQ2  unstable main
deb  [trusted=yes] http://aptly.uniontech.com/pkg/nonfree-eagle-1050/release-candidate/W0RERV0xMDUwIFNQcmludDLpnIDmsYLlhajph4-lhoXmtYvkuLvpopgtLTA4MzHlpI3liLYyMDIxLTExLTEyIDEzOjE3OjQ2  unstable main

3. Tips

  flameshot 是一个截图工具

  screen rule 是一个尺子

  seahorse 可以清空密钥环

  systemctl start lightdm 可在崩溃后重新进入桌面

4. 一键创建虚拟机

#!/bin/bash

function vm::install {
    # 使用这种方式安装的 virtualbox 才有 VBoxManage 管理工具
    wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
    wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
    sudo tee -a /etc/apt/sources.list <<< "deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian buster contrib"
    sudo apt -y update && sudo apt -y install virtualbox-6.1
}

function vm::create {
    [[ -z "${VM_NAME}" ]] && local VM_NAME && read -p "Virtual machine name: " VM_NAME

    vm::geniso && local INSTALL_ISO=$DEST_ISO

    [[ -z "${INSTALL_ISO}" ]] && local INSTALL_ISO && read -p "Install iso: " INSTALL_ISO

    [[ -z "$VM_NAME" ]] && echo "Error, input vm name invalid." && return 0
    [ ! -e "${INSTALL_ISO}" ] && echo "Error, install file does not exist." && return 0
        
    VM_HD_PATH="${HOME}/VirtualBox VMs/${VM_NAME}/${VM_NAME}.vdi"
    mkdir -p "`dirname "${VM_HD_PATH}"`" #&& cd "`dirname "${VM_HD_PATH}"`"
    
    # 注册虚拟机
    VBoxManage createvm --name ${VM_NAME} --register
    
    # 修改配置参数
    PROC=`nproc`
    VBoxManage modifyvm ${VM_NAME} --ostype Debian_64
    VBoxManage modifyvm ${VM_NAME} --memory 8192
    VBoxManage modifyvm ${VM_NAME} --cpus $((${PROC}/2))
    VBoxManage modifyvm ${VM_NAME} --vram 16
    VBoxManage modifyvm ${VM_NAME} --clipboard-mode bidirectional
    VBoxManage modifyvm ${VM_NAME} --draganddrop bidirectional
    VBoxManage modifyvm ${VM_NAME} --graphicscontroller vmsvga
    VBoxManage modifyvm ${VM_NAME} --nic1 bridged --nictype1 82540EM --cableconnected1 on --bridgeadapter1 eno1
    
    # 创建100G系统盘
    VBoxManage createmedium disk --filename "${VM_HD_PATH}" --size 102400
    
    # 创建第一、二通道控制器(IDE、SATA)
    VBoxManage storagectl ${VM_NAME} --name IDE --add ide --controller PIIX4 --bootable on
    VBoxManage storagectl ${VM_NAME} --name SATA --add sata --controller IntelAhci --bootable on
    
    # 控制器关联镜像文件、虚拟磁盘(IDE:uos.iso, SATA:sys.vdi)
    VBoxManage storageattach ${VM_NAME} --storagectl SATA --port 0 --device 0 --type hdd --medium "${VM_HD_PATH}"
    bash -c "VBoxManage storageattach ${VM_NAME} --storagectl IDE --port 0 --device 0 --type dvddrive --medium ${INSTALL_ISO}"
    VBoxManage storageattach ${VM_NAME} --storagectl IDE --port 1 --device 0 --type dvddrive --medium "/usr/share/virtualbox/VBoxGuestAdditions.iso"
    
    # 启动虚拟机
    VBoxManage startvm ${VM_NAME} --type gui
}

SELECTED_VM=
function vm::select {
    local CURRENT_VM_LIST=(`VBoxManage list vms | awk '{print $1}'`)
    [[ ${#CURRENT_VM_LIST[@]} =~ 0 ]] && echo "Please create a vm first." && return 1
    local listLen=$[${#CURRENT_VM_LIST[@]}-1]
    for vm_id in `seq 0 ${listLen}`
    do 
        echo "  ${vm_id} : ${CURRENT_VM_LIST[${vm_id}]}"
    done
    
    local CURRENT_SELECT=
    read -p "Please select a vm to continue:" CURRENT_SELECT
    [[ ${CURRENT_SELECT} < ${listLen} || ${CURRENT_SELECT} == ${listLen} ]] || { echo "Please input a coprrect number!" && return 1 ;}
    SELECTED_VM="${CURRENT_VM_LIST[${CURRENT_SELECT}]}"    # ${CURRENT_VM_LIST[${CURRENT_SELECT}]}
    echo "select: ${SELECTED_VM}"
}

function vm::start {
    vm::select
    bash -c "VBoxManage startvm $SELECTED_VM --type gui"
}

function vm::geniso {
    [[ -z "${INSTALL_ISO}" ]] && local INSTALL_ISO && read -p "Install iso: " INSTALL_ISO
    MOUNT_DIR=$(mktemp -d)
    RSYNC_DIR=$(mktemp -d)
    DEST_ISO="$(mktemp -d)/auto_install.iso"
    
    IS_MOUNTED=`mount -l | grep $(basename $ISO)`
    [[ -n "${IS_MOUNTED}" ]] && echo "Please umount: ${IS_MOUNTED}" && return 1
    
    bash -c "sudo mount -o loop -t iso9660 ${INSTALL_ISO} $MOUNT_DIR"
    rsync -avP $MOUNT_DIR/ $RSYNC_DIR
    rm -rf $RSYNC_DIR/oem && [ -e "./oem" ] && cp -r ./oem $RSYNC_DIR
    [ ! -e "./oem" ] && tar -xf ./oem.tar -C $RSYNC_DIR

    # 生成可启动安装的镜像文件
    sudo genisoimage                    \
        -input-charset utf-8            \
        -b isolinux/isolinux.bin        \
        -c isolinux/boot.cat            \
        -no-emul-boot                   \
        -boot-load-size 4               \
        -boot-info-table                \
        -o "$DEST_ISO"                  \
        -J -R -A -V -v "$RSYNC_DIR" && return 0
}

# 生成普通镜像文件
# genisoimage -o '/home/alex/Desktop/iso/oem.iso' -J -R -A -V -v '/home/alex/Desktop/iso/oem'
View Code

5. debian打包

  参考

  apt-get install --allow-downgrades -y xxxx  允许下载低版本的包进行安装

  sudo apt-get install manpages-dev           安装帮助手册

6. 开启bbr

  Debian10 开启 BBR 加速 | Leoyum

echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf
sudo /usr/sbin/sysctl -p
/usr/sbin/sysctl  net.ipv4.tcp_available_congestion_control
lsmod | grep bbr

7. 其他

  cat /etc/issue   查看debian版本

  cat /etc/debian_version

  lsb_release -a

  hostnamectl status

  cat /proc/version

  查看 Debian 系统版本的 6 种方式 - 知乎 (zhihu.com)

  UOS相关命令_只想整天学习-CSDN博客_uos查看系统版本命令

8. 窗管

  替换为openbox:

sudo apt install openbox
openbox --replace
这个是dde-kwin
deepin-kwin                     dev/x11wayland
还有一个kwayland          maintain/wayland_x86

9. GCC11升级教程

  参考

  参考   参考知乎    

10. 软件安装错误

1. 强制重启
2. sudo rmmod vfs_monitor
3. sudo systemctl stop deepin-anything-tool.service deepin-anything-monitor.service
4. sudo dpkg-reconfigure -a

11. 命令行启动一些进程

function 测试应用启动状态 {
    # dde-daemon 搜索 print-reply 就行
    dbus-send --print-reply --dest=com.deepin.dde.osd /org/freedesktop/Notifications com.deepin.dde.Notification.Toggle
    dbus-send --print-reply --dest=com.deepin.dde.Launcher /com/deepin/dde/Launcher com.deepin.dde.Launcher.Toggle
    dbus-send --print-reply --dest=com.deepin.dde.Clipboard /com/deepin/dde/Clipboard com.deepin.dde.Clipboard.Toggle
    # logout
    dbus-send --print-reply --dest=com.deepin.dde.shutdownFront /com/deepin/dde/shutdownFront com.deepin.dde.shutdownFront.Show
    # 锁屏
    /usr/bin/setxkbmap -option grab:break_actions&&/usr/bin/xdotool key XF86Ungrab&&dbus-send --print-reply --dest=com.deepin.dde.lockFront /com/deepin/dde/lockFront com.deepin.dde.lockFront.Show
    # 截屏
    dbus-send --print-reply --dest=com.deepin.ScreenRecorder /com/deepin/ScreenRecorder com.deepin.ScreenRecorder.stopRecord
    # 控制中心
    dbus-send --session --dest=com.deepin.dde.ControlCenter  --print-reply /com/deepin/dde/ControlCenter com.deepin.dde.ControlCenter.Show

    # 然后再查询 pid 或者注入即可
    pidof /usr/bin/dde-clipboard
}
View Code

12. 高版本内核永久开启ptrace

echo 'kernel.yama.ptrace_scope = 0' | sudo tee -a /etc/sysctl.d/10-ptrace.conf && reboot

13

  使用windos字体

14. 使用gdbus提醒

 gdbus call --session \
             --dest org.freedesktop.Notifications \
             --object-path /org/freedesktop/Notifications \
             --method org.freedesktop.Notifications.Notify \
             my_app_name \
             42 \
             gtk-dialog-info \
             "打卡提示" \
             "打卡啦王鹏" \
             \[\] \
             \{\} \
             1500
echo '15 18 * * * alex gdbus call --session  --dest org.freedesktop.Notifications              --object-path /org/freedesktop/Notifications --method org.freedesktop.Notifications.Notify my_app_name 42 gtk-dialog-info "打卡提示" "打卡啦王鹏" \[\] \{\} 1500' | sudo tee -a /etc/crontab

 

posted @ 2021-08-13 18:16  AlexOne  阅读(1579)  评论(0编辑  收藏  举报