Avatar

Organizations

23 results for Linux
  • Debian 12 只安装VNC及i3桌面,就可以低成本的实现远程桌面环境

    安装

    # 安装通用工具
    apt-get install -y nano net-tools bzip2 procps apt-utils iputils-ping netcat-openbsd
    # 安装中文字体
    apt-get install -y locales fonts-wqy-microhei fonts-wqy-zenhei xfonts-wqy && \
        sed -i -e "s/# zh_CN.UTF-8 UTF-8/zh_CN.UTF-8 UTF-8/" /etc/locale.gen && \
        locale-gen zh_CN.UTF-8 &&\
        update-locale LANG=zh_CN.UTF-8 LANGUAGE=zh_CN:zh LC_ALL=zh_CN.UTF-8
    # 安装VNC
    apt-get install -y tigervnc-standalone-server
    # 安装i3桌面
    apt-get install -y i3-wm i3status i3blocks dmenu xfonts-base terminator dbus-x11 libdbus-glib-1-2 ; apt-get purge -y pm-utils *screensaver*
    
    apt-get clean
    

    配置i3桌面

    ~/.config/i3/config

    linux vnc tigerVNC i3 debian Created Tue, 12 Aug 2025 19:01:37 +0800
  • 修改CT虚拟机

    修改特权容器

    nano /etc/pve/lxc/<CTID>.conf
    
    • 删除或注释掉 unprivileged: 1 这一行。
    • 确保没有 lxc.idmap 相关的UID/GID映射配置(如有则删除)。

    修改sshd设置

    nano /etc/ssh/sshd_config
    
    • PermitRootLogin 设置为 yes 或 prohibit-password(允许密钥登录)。
    • PubkeyAuthentication 设置为 yes。
    • PasswordAuthentication 设置为 no(推荐禁用密码登录以提高安全性)。

    修复SSH密钥权限

    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    chown -R root:root ~/.ssh
    

    安装

    apt update
    # 安装 Podman
    apt install podman pipx iptables # iptables必须安装,否则netavark无法运行
    # 安装 podman-compose
    apt install pipx \
        && pipx install podman-compose \
        && echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc \
        && . ~/.bashrc
    # 验证安装
    podman version ; podman-compose version
    

    配置

    # 配置国内镜像源
    sed -E -i.bak \
        -e 's/^# (unqualified-search-registries = ).+$/\1["docker.io"]/' \
        -e 's/^# (\[\[registry\]\])$/\1/' \
        -e 's/^# (prefix = ).+"$/\1"docker.io"/' \
        -e '0,\/^# (location = ).+"$/s//\1"docker.1ms.run"/' \
        -e '0,\/^# (\[\[registry.mirror\]\])$/s//\1/' \
        -e '0,\/^# (location = ).*"$/s//\1"registry.cn-hangzhou.aliyuncs.com"/' \
        /etc/containers/registries.conf
    
    # nano /etc/containers/registries.conf
    unqualified-search-registries = ["docker.io"]
    
    [[registry]]
    prefix = "docker.io"
    location = "docker.1ms.run"
    
    [[registry.mirror]]
    location = "registry.cn-hangzhou.aliyuncs.com"  # 可选备用
    

    其实命令与Docker一致,非常方便好用。

    linux podman container Created Tue, 22 Jul 2025 18:49:39 +0800
  • 基于 CentOS 7

    让Linux系统与Windows系统之间,支持机器名访问,需要Linux安装NetBIOS。 而安装NetBIOS,不一定必须安装Samba,安装过程如下:

    安装库

    # 注意 这里并不会安装完整的samba
    $ yum install samba-winbind
    

    修改配置文件

    ; Nano /etc/nsswitch.conf
    ; add wins
    hosts:  files <wins> dns myhostname
    

    验证安装

    $ ll /etc/<lib|lib64>/libnss_winbind.so
    

    配置生效

    $ ldconfig
    

    配置服务

    $ systemctl start winbind
    $ systemctl status winbind
    

    参考

    wins netbios centos linux Created Wed, 23 Oct 2024 13:04:27 +0800
  • 配置文件

    ; ~/.tmux.conf
    # 启动鼠标支持
    set -g mouse on
    set -g mode-keys vi
    
    # WindTerm需在 会话 --> 首选项 --> 设置 --> 终端 --> 鼠标追踪 --> 追踪事件
    # 取消勾选:
    # - 移动事件
    # - 点击事件
    # - 右键单击事件
    # WindTerm使用鼠标修改面板大小,受WindTerm限制无法实现
    
    # 禁用 WindTerm 的默认鼠标行为(防止冲突)
    set -g terminal-overrides 'xterm*:smcup@:rmcup@'
    # 1. 禁用左键释放自动复制(改为仅选择)
    bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-selection-and-cancel
    # 2. 右键复制已选文本(需先左键选择)
    bind -T copy-mode-vi MouseDown3Pane send-keys -X copy-pipe-and-cancel \
      "xclip -i -selection clipboard 2>/dev/null || \
       pbpaste 2>/dev/null || \
       win32yank.exe -i 2>/dev/null"
    # 3. 右键直接粘贴系统剪贴板内容(跨系统支持)
    bind -n MouseDown3Pane run-shell \
      "tmux set-buffer -- \"$(xclip -o -selection clipboard 2>/dev/null || \
                              pbpaste 2>/dev/null || \
                              win32yank.exe -o 2>/dev/null)\"; \
       tmux paste-buffer"
    
    # 解除默认的鼠标调整绑定(可选)
    unbind-key -T root MouseDrag1Border
    # 重新绑定鼠标拖动调整大小
    bind -n MouseDrag1Border resize-pane -M
    
    # status line
    set -g status-justify centre
    set -g status-left "#{session_name}"
    set -g status-right "%F %R"
    # 窗口编号自动重新排序
    set -g renumber-windows on
    
    # status line > window list
    set -g window-status-format "#{window_index}:#{window_name}"
    set -g window-status-separator " | "
    set -g window-status-current-format "#{window_index}:#{window_name}"
    set -g window-status-current-style bold,italics
    
    # pane
    set -g pane-border-format " #{pane_index}:#{pane_title} $ #{pane_current_command} "
    set -g pane-border-status top
    set -g history-limit 10000
    
    # 更新配置,不需要关闭tmux,直接运行马上生效
    tmux source-file ~/.tmux.conf
    

    快捷键操作

    Prefix = Ctrl + b

    cli tmux linux Created Wed, 21 Feb 2024 16:08:32 +0800
  • Proxmox VE 官方提供的 Centos 7 模板是有问题的无法正常使用,现在给出解决方案。

    安装

    安装完成后,容器可以启动,但无法关闭、网络无法使用、控制台无法使用,这些都是我们要解决的问题。

    解决方法

    1. ssh登录进入PVE主机
    # 查看 CT 容器列表
    $ pct list
    # 进入 CT 容器
    $ pct enter <VMID>
    
    1. 打开网络
    # 启动网络,从DHCP拿IP地址
    $ ifup eth0
    
    1. 更新 yum 库
    $ curl -o /etc/yum.repos.d/jsynacek-systemd-backports-for-centos-7-epel-7.repo https://copr.fedorainfracloud.org/coprs/jsynacek/systemd-backports-for-centos-7/repo/epel-7/jsynacek-systemd-backports-for-centos-7-epel-7.repo
    $ yum update
    # 安装 sshd
    $ yum install -y openssh-server
    $ systemctl start sshd.service
    $ systemctl enable sshd.service
    
    1. 退出 CT 容器
    $ exit
    $ pct stop <VMID>
    
    1. 重新启动 CT 容器,一切正常—
    CT Container lxc centos 7 linux proxmoxve Created Wed, 31 Jan 2024 21:37:49 +0800
  • NcFTP 是 Linux 上常用的 FTP客户端工具,非常好用,这里记录它的常见用法。

    ncftp

    FTP浏览工具

    $ ncftp
    # 一定注意参数顺序
    ncftp > open -u <username> -p <password> <remote-host>
    # 使用被动模式传输
    ncftp > set passive yes
    ncftp > put <local-files>
    

    ncftpput

    FTP上传命令行工具

    # 一定注意参数顺序
    # 使用被动模式传输
    $ ncftpput -u <username> -p <password> -F <remote-host> <remote-path> <local-files>
    # or
    $ ncftpput -f ftp.cfg -F <remote-path> <local-files>
    
    ; ftp.cfg
    host ftp.server.com
    user myusername
    pass mypasswd
    
    ftp ncftp linux Created Fri, 26 Jan 2024 11:30:57 +0800
  • 文件合并

    cat info.log error.log > merge.log.bak
    cp merge.log.bak merge.log
    

    文件拆分

    cli txt linux Created Wed, 31 May 2023 11:18:52 +0800
  • 安装 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
  • 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
Next