Avatar

Organizations

  • 安装 xrdp

    $ sudo apt install xrdp
    

    启动xrdp服务,并设置为开机启动

    $ sudo systemctl start xrdp
    $ sudo systemctl enable xrdp
    

    解决黑屏/空屏/无画面

    $ nano /etc/xrdp/startwm.sh
    
    unset DBUS_SESSION_BUS_ADDRESS
    unset XDG_RUNTIME_DIR
    . $HOME/.profile
    

    重启deepin,使用Xorg模式登录

    参考文档

    deepin rdp linux Created Sat, 06 May 2023 21:04:06 +0800
  • 在hyper-v虚拟机下调节分辨率

    $ sudo nano /etc/default/grub
    

    修改配置项

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:1366x768"
    

    更新 grub

    $ sudo /usr/lib/deepin-api/adjust-grub-theme
    $ sudo update-grub
    

    注意:这种方法最高只能支持 1920×1080 的分辨率,对于大显示器,高 DPI 的童鞋,可以考虑用 RDP,VNC 等方式来用上更高的分辨率。

    参考文档

    deepin Hyper-V windows Created Sat, 06 May 2023 20:20:12 +0800
  • 不同版本中,不同的表现形式:

    • Python 2.x:reload() 是内置函数
    • Python 3.0 - 3.3:使用 imp.reload(module)
    • Python 3.4:imp 已经被废弃,取而代之的是 importlib
    from importlib import reload
    
    reload(<module>)
    

    参考文档

    reload python Created Fri, 20 Jan 2023 23:44:17 +0800
  • VsCode Remote SSH 默认是不支持 Alpine Linux 的,不过,对 Alpine Linux 进行一些改动,就可以实现,比较方便。

    步骤如下:

    安装

    1. 安装 Bash
    2. 安装需要的包
    $ apk del dropbear
    $ apk add gcompat libstdc++6 openssh wget git
    

    Alpine 配置

    $ nano /etc/ssh/sshd-config
    
    AllowTcpForwarding yes
    PermitTunnel       yes
    

    git 配置

    1. VsCode 连接 Alpine Linux
    2. F1 > “Preferences: Open Remote Settings (JSON) (SSH: )”
    3. 添加下面的内容:
    {
    	"git.path": "/usr/bin/git",
    }
    

    参考文档:

    alpine linux remote ssh vscode Created Tue, 03 Jan 2023 20:42:02 +0800
  • Alpine Linux 原始安装的是 busybox,小巧精干,但毕竟与主流的 Bash 还是有区别,特别是与其它系统联动时会比较麻烦,所以还是安装 Bash,统一 Shell 环境,方便日后使用。

    而且基本网上的安装教程都有问题,所以这里给出正确的安装步骤。

    安装

    $ apk add bash libuser
    

    配置

    $ touch /etc/login.defs
    $ mkdir /etc/default
    $ touch /etc/default/useradd
    $ lchsh <root>
    Changing shell for root.
    Password: <root password>
    New Shell [/bin/ash]: /bin/bash
    Shell changed.
    

    参考文档:

    linux bash alpine linux Created Tue, 03 Jan 2023 20:08:42 +0800
  • 1. 使用手册

    看完这3篇足以把服务建起来,非常方便

    2. 服务端安装配置

    可直接使用 Docker 的配置进行

    3. 客户端下载、 安装、运行

    原本也想使用Docker镜像,但发现kvm之间通过Docker通信好像有问题,所幸在宿主机上可以直接使用release文件。 【注意:每次添加新的客户端,要同步更新服务端的端口配置】

    3.1. 下载

    官网下载地址【注意:s, c两端使用的版本号要相同】

    $ cd ~
    # 下载安装软件
    $ yum install wget tar git
    # 下载 frp
    $ wget -c https://github.com/fatedier/frp/releases/download/v0.34.3/frp_0.34.3_linux_amd64.tar.gz
    $ tar -axvf frp_0.34.3_linux_amd64.tar.gz
    $ rm -rf frp_0.34.3_linux_amd64.tar.gz
    # 下载 frp 配置
    $ git clone https://github.com/Cuile/frp.git
    

    3.2. 安装

    # 此处只能使用硬链接,使用软链接会导致无法启动服务
    # 安装配置文件
    $ mkdir /etc/frp
    $ ln -b ~/frp/conf/frpc-pve.ini /etc/frp/frpc.ini
    # 安装运行文件
    $ ln -b ~/frp_0.34.3_linux_amd64/frpc /usr/bin/frpc
    # 安装服务
    $ ln -b ~/frp_0.34.3_linux_amd64/systemd/frpc.service /lib/systemd/system/frpc.service
    

    3.3. 运行

    $ systemctl enable frpc.service           ##设定指定服务开机开启
    $ systemctl disable frpc.service          ##设定指定服务开机关闭
    
    $ systemctl start frpc.service
    $ systemctl stop frpc.service
    $ systemctl restart frpc.service
    
    $ systemctl status frpc.service
    $ systemctl list-units | grep frpc
    

    3.4. 更新

    通过 git 更新 frpc 的配置后,要重新链接配置文件

    frp proxy linux Created Wed, 28 Dec 2022 17:15:15 +0800
  • WindTerm 无法认证

    WindTerm客户端,取消 “会话设置 -> SSH -> 验证 -> 尝试键盘交互认证” 可已正常连接。

    安装 OpenSSH Server

    $ apk update
    $ apk add openssh-server openssh
    
    ; /etc/ssh/sshd_config
    
    # 开放Root登录
    - #PermitRootLogin prohibit-password
    + PermitRootLogin yes
    
    # 允许其它用户登录
    - #PasswordAuthentication yes
    + PasswordAuthentication yes
    
    # 解决ssh自动断开
    - #ClientAliveInterval 0
    - #ClientAliveCountMax 3
    + ClientAliveInterval 60
    + ClientAliveCountMax 3
    
    $ rc-service sshd start
    
    $ rc-service sshd restart
    # 设置开机启动
    $ rc-update add sshd
    # 删除开机启动服务
    $ rc-update del sshd
    # 显示所有服务
    # rc-status -a
    

    终端配置

    在 /etc/profile.d 文件夹下,创建sh文件来实现。

    linux cli alpine linux Created Wed, 28 Dec 2022 16:27:00 +0800
  • 已弃用,转到 Tmux 命令

    创建屏幕

    # 离线方式创建屏幕,一般用在启动脚本
    $ screen -S <screen_name> -d -m
    

    查年屏幕

    $ screen -ls
    

    执行命令

    # 在指定屏幕内输入cmd,注意\n代表回车
    $ screen -S <screen_name> -X stuff "<cmd>\n"
    # 在当前窗口内,通过另一个过滤进程控制窗口的输入或输出。
    # 非常复杂,还没有搞明白有什么用
    # 官方建议:小心使用!
    $ screen -S <screen_name> -X |<cmd>
    $ screen -S <screen_name> -X !..|<cmd>
    $ screen -S <screen_name> -X exec<cmd>
    

    参考文档

    离开屏幕

    在 screen 终端下,按 Ctrl+a d 键

    退出屏幕

    # 进入指定屏幕,再退出
    $ screen -r <screen_name|pid>
    $ exit
    # 指定屏幕,直接退出
    $ screen -S <screen_name> -X quit
    
    cli screen linux Created Wed, 28 Dec 2022 14:24:08 +0800
  • systemctl命令

    systemctl list-units            ##列出当前系统服务的状态
    systemctl list-unit-files       ##列出服务的开机状态
    systemctl status sshd           ##查看指定服务的状态
    systemctl stop sshd             ##关闭指定服务
    systemctl start sshd            ##开启指定服务
    systemctl restart sshd          ##从新启动服务
    systemctl enable sshd           ##设定指定服务开机开启
    systemctl disable sshd          ##设定指定服务开机关闭
    systemctl reload sshd           ##使指定服务从新加载配置
    systemctl list-dependencies sshd    ##查看指定服务的倚赖关系
    systemctl mask  sshd            ##冻结指定服务
    systemctl unmask sshd           ##启用服务
    systemctl set-default multi-user.target ##开机不开启图形
    systemctl set-default graphical.target  ##开机启动图形
    

    设置主机名

    $ _hostname_=XXXX
    $ hostnamectl --static set-hostname ${_hostname_}
    $ hostnamectl --transient set-hostname ${_hostname_}
    $ hostnamectl --pretty set-hostname ${_hostname_}
    

    修改服务器时区

    $ timedatectl set-timezone Asia/Shanghai
    
    CLI Systemd Linux Created Tue, 27 Dec 2022 17:29:08 +0800