动态 版块 发帖 消息 我的
小绿叶技术博客
小绿叶技术博客
子版块
admin
843
sudo apt-get --purge remove nginx nginx-common nginx-core -y # 卸载nginx 所有组件sudo apt install -y nginx# 重新安装nginx
 2   0  222天前
admin
1186
#!/bin/bash # 安装微信和qq qqurl="http://work.eisc.cn/ruanjian/ubuntu/deb/work/qq/" weixinurl="http://work.eisc.cn/ruanjian/ubuntu/deb/work/weixin/" dir="/datadisk/eisc/download/weixin" debList=( linuxqq_3.1.1-11223_amd64.deb ukylin-wine_70.6.3.25_amd64.deb ukylin-wechat_3.0.0_amd64.deb ) sudo mkdir -p $dir ; sudo chmod 777 $dir ; cd $dir download_deb(){ for i in ${debList[*]} do debname=`echo $i | awk -F"_" '{print $1}'` debnameInstalled=`sudo dpkg -l | grep $debname` debnameInstalledLength=${#debnameInstalled} if [ $debnameInstalledLength -gt 1 ] then echo "[ok] 该包 $i 已经安装,安装信息: $debnameInstalled" else echo "[runing] 正在检查是否下载安装包: $i" if [ ! -e $i ] then echo "[runing] 当前没有下载,正在下载包:$i" case "$i" in "linuxqq_3.1.1-11223_amd64.deb") wget $qqurl/$i ;; "ukylin-wine_70.6.3.25_amd64.deb") wget $weixinurl/$i ;; "ukylin-wechat_3.0.0_amd64.deb") wget $weixinurl/$i ;; *) echo "该包没有定义下载地址,包: $i" esac else echo "[ok] 已经下载: $i " fi echo "正在安装: $i" sudo apt install -y xdotool ; sudo apt --fix-broken install -y # 安装依赖包 sudo dpkg -i $i fi done } download_deb cd # 一键安装: # wget eisc.cn/file/ubuntu/shell/server/weixin.sh; sudo chmod +x weixin.sh ; ./weixin.sh
 4   0  474天前
admin
224
sudo nano /etc/gdm3/custom.conf [daemon] AutomaticLoginEnable = true AutomaticLogin = eisc # eisc 用户开机自动登录桌面 WaylandEnable=false # 登录后禁用锁屏 sudo systemctl restart gdm3 # 重启桌面服务
 0   0  28天前
admin
474
#!/bin/bash # debian 12/11/10 自动切换 apt 阿里云/清华/腾讯/网易163 源; update 更新,自动部署可 kvm 虚拟化,安装google 浏览器;安装 mp4 播放器 # 执行脚本选择对应的 apt 源码,下面 aptdebian12 为apt 源 内容修改写入到:/etc/apt/sources.list 然后执行 sudo apt update 进行更新 echo "当前需要输入当前用户的密码,需要执行 sudo 命令" ; sudo date aptupdateqinghua(){ # 清华 apt 源手动选择 debian 版本链接:https://mirrors.tuna.tsinghua.edu.cn/help/debian/ # 注意:定义变量的时候引号需要换行,否则原本的换行将被替换为空格 aptdebian12=" # debian12 # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware # 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换 deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware # deb-src https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware " aptdebian11=" # debian11 # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free # 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换 deb https://security.debian.org/debian-security bullseye-security main contrib non-free # deb-src https://security.debian.org/debian-security bullseye-security main contrib non-free " aptdebian10=" # debian10 # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free # 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换 deb https://security.debian.org/debian-security buster/updates main contrib non-free # deb-src https://security.debian.org/debian-security buster/updates main contrib non-free " } ubuntu_ntpdate(){ # 更新时间 sudo apt install ntpdate -y sudo timedatectl set-timezone Asia/Shanghai sudo ntpdate -u cn.pool.ntp.org sudo apt-get --fix-broken install -y # 问题:Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution) } debian_release_setApt(){ releaseApt=0; models=`cat /etc/os-release | grep -w NAME | awk -F"\"" '{print $2}'` version=`cat /etc/os-release | grep VERSION_ID | awk -F"\"" '{print $2}' | awk -F"." '{print $1}'` echo "当前机型为:$models 系统版本: $version " echo "select apt update: 1.qinghua 2.Alibaba 3.tencent 4.163 任意按键exit" ; read -p "select number : " readset case $readset in "1") echo "当前切换到清华源,较慢" ; aptupdateqinghua ;; "2") echo "当前切换到阿里云源" ; aptupdateqinghua ; releaseApt=1 ; destAptUrl="mirrors.aliyun.com" ;; "3") echo "当前切换到腾讯云源" ; aptupdateqinghua ; releaseApt=1 ; destAptUrl="mirrors.tencent.com" ;; "4") echo "当前切换到网易163源" ; aptupdateqinghua ; releaseApt=1 ; destAptUrl="mirrors.163.com" ;; *) echo "我已经配置 apt 源。正在继续下面任务... " ;; esac case $version in "12") echo "$aptdebian12" > /etc/apt/sources.list ; echo "当前机型: $models $version 已经写入 aptdebian12 apt源 " ;; "11") echo "$aptdebian11" > /etc/apt/sources.list ; echo "当前机型: $models $version 已经写入 aptdebian11 apt源 " ;; "10") echo "$aptdebian10" > /etc/apt/sources.list ; echo "当前机型: $models $version 已经写入 aptdebian10 apt源 " ;; esac if [ $releaseApt = 1 ] then sudo sed -i "s/mirrors.tuna.tsinghua.edu.cn/$destAptUrl/g" /etc/apt/sources.list fi } sudo_install(){ if [ `id -un` != "root" ] then echo "当前不是 root 用户,需要检测 sudo 工具是否安装,并且 获取 sudo " a=`sudo apt list --installed | grep sudo | grep now` if [ ${#a} -lt 1 ] then echo " 当前检测到 您没有安装 sudo 超级权限工具,并且当前也不是 root 用户,没有权限更改apt 源,请切换到root 用户执行本shell 按照操作添加用户的sudo 权限" exit else echo "[ ok ] 当前用户 $USER 已经安装 sudo 工具,并且已经配置获得 sudo 超级权限,继续往下配置..." aptFileList=( sources.list sources.list.d ) aptdir=/etc/apt sudo chmod 777 -R $aptdir sudo touch $aptdir/sources.list for aptfile in ${aptFileList[*]} do if [[ ! -e $aptdir/$aptfile.tar ]] then if [[ -e $aptdir/$aptfile ]] then sudo tar -cvf $aptdir/$aptfile.tar $aptdir/$aptfile echo "正在备份文件 在:$aptdir/$aptfile.tar" else echo "[warrior] 文件不存在 $aptdir/$aptfile 但不影响配置" ; sleep 3 fi else echo "已经存在备份文件:$aptdir/$aptfile.tar" fi done echo "" > /etc/apt/sources.list ; debian_release_setApt # 文件已经附加了权限,删除后文件权限为默认,而不为 777 。如果删除重写,记得重新附加权限 777 sudo rm -rf /var/lib/dpkg/updates/* /etc/apt/sources.list.d # 删除文件夹1 解决 sudo dpkg --configure -a # to correct the problem # 删除文件夹2 列表源, 原因: 安装google浏览器等等其它软件,会自动增加 apt 源 ,导致 apt update 出现由于没有公钥,无法验证下列签名: NO_PUBKEY E88979FB9B30ACF2 ubuntu_ntpdate sudo apt update ; sudo apt update ; sudo apt list --upgradable echo "切换 apt update 源,更新软件包,和 查看可升级软件包完成" fi else echo "[ok] 当前是 root 用户" if [ ! -e /etc/apt/sources.list.bak ] then cp /etc/apt/sources.list /etc/apt/sources.list.bak echo "备份文件 在: /etc/apt/sources.list.bak" else echo "已经存在备份文件:/etc/apt/sources.list.bak" fi sudo rm -rf /var/lib/dpkg/updates/* # 解决 sudo dpkg --configure -a # to correct the problem debian_release_setApt ; ubuntu_ntpdate ; apt update ; apt install -y sudo if [ ! -e /etc/sudoers.d/stack ] then touch /etc/sudoers.d/stack fi echo "为其他用户添加sudo 权限,多个用户空格个开!" read -p "输入:" readuser userlist=( root $readuser) for i in ${userlist[*]} do catsudo=`cat /etc/sudoers.d/stack | grep $i` if [ ${#catsudo} -lt 27 ] then echo "$i ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack else echo "[ok] 已经添加过用户 $i 的 sudo 权限" fi if [ $i != root ] then echo "useradd $i Please set the password $i: " useradd -m -d /home/$i -s /bin/bash $i; passwd $i read -p " Do you want to disable root login ssh? y/n: " rootDisableFlag if [ "$rootDisableFlag" = "y" ] then sudo sed -i "s/PermitRootLogin.*/PermitRootLogin no/g" /etc/ssh/sshd_config sudo sed -i "s/#PermitRootLogin.*/PermitRootLogin no/g" /etc/ssh/sshd_config fi fi done sudo apt update ; sudo apt update ; sudo apt list --upgradable echo "切换 apt update 源,更新软件包,和 查看可升级软件包完成" fi } install_kvm(){ installedkvm=` apt list --installed | grep virtinst` ; Length=${#installedkvm} if [ $Length -gt 1 ] then echo "kvm 已经安装。" else echo "正在安装kvm ... " sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager -y sudo systemctl is-active libvirtd # 验证安装,注意:qemu-kvm 更名为:qemu-system-x86 卸载软件命令:sudo apt autoremove namepackage echo "$USER ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack # 授予当前用户sudo超级权限。 sudo usermod -aG libvirt $USER sudo usermod -aG kvm $USER # $USER 当前用户名,加入组,能够创建和管理虚拟机,否则无权限。然后注销重新登陆 fi } debian_aptupdate(){ echo "select: 1.config debian apt update 2.install kvm qemu 3 exit" read -p "input number: " selectRun case $selectRun in "1") sudo_install ;; "2") install_kvm ;; *) echo "已经跳过此步骤!" ;; esac } apt_install(){ echo "install google , qq , wecat, vscode ?" read -p "input: y/n ?: " ifapt if [[ $ifapt = y ]] then echo "[runing] install..." wget eisc.cn/file/ubuntu/shell/server/vscode.sh; sudo chmod +x vscode.sh ; ./vscode.sh wget eisc.cn/file/ubuntu/shell/server/weixin.sh; sudo chmod +x weixin.sh ; ./weixin.sh else echo "[ok] 取消安装必备软件! " fi } main(){ debian_aptupdate apt_install echo "sudo hostnamectl set-hostname debian 更新debian 主机名后,需要在文件 /etc/hosts 的 127.0.0.1 和 ::1 的末尾增加 更改后的主机名,如: debian 否则 sudo 命令很慢" echo "如果需要更新所有内核软件执行: sudo apt upgrade -y " echo "do you update kernel : sudo apt upgrade -y " } main # 一键部署:wget http://eisc.cn/file/ubuntu/shell/server/debian_aptupdate.sh ; chmod +x debian_aptupdate.sh ; ./debian_aptupdate.sh
 7   0  32天前
admin
285
在C语言中,使用`libcap`库统计TCP每个IP的连接数通常涉及到对网络数据包的捕获和分析。`libcap`是一个提供对内核CAP_NET_RAW和CAP_NET_ADMIN套接字能力访问的库,但它本身并不提供直接的网络监控功能。相反,我们通常使用`libpcap`库来捕获和分析网络数据包。 以下是一个使用`libpcap`库在C语言中统计TCP连接数的简单示例。请注意,这个示例仅用于演示目的,实际应用中可能需要更复杂的错误处理和多线程处理以提高性能。 首先,你需要安装`libpcap`开发包。在大多数Linux发行版中,可以使用包管理器安装它: ```bash sudo apt-get install libpcap-dev ``` 然后,你可以使用以下C代码: ```c #include <pcap.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #define SNAP_LEN 65535 // 抓取每个包的最大长度 #define READ_TIMEOUT 1000 // 读取超时时间,单位为毫秒 // 用于存储每个IP的TCP连接数的结构体 typedef struct { char ip[20]; int count; } IPStat; // 将IP地址和端口号转换为字符串 void addrToString(u_char *addr, char *str) { snprintf(str, 20, "%d.%d.%d.%d", addr[0], addr[1], addr[2], addr[3]); } // 分析捕获的包,统计TCP连接数 void packet_handler(u_char *user_data, const struct pcap_pkthdr *pkthdr, const u_char *packet) { IPStat *stats = (IPStat *)user_data; const struct ip *ip; ip = (struct ip *)(packet + 14); // 跳过以太网头部,直接获取IP头部 // 检查是否为TCP协议 if (ip->ip_p == IPPROTO_TCP) { const struct tcphdr *tcp = (struct tcphdr *)(ip + 1); // IP头部之后是TCP头部 char src_ip[20], dst_ip[20]; // 将源IP和目的IP转换为字符串 addrToString(&ip->ip_src, src_ip); addrToString(&ip->ip_dst, dst_ip); // 统计源IP的连接数 if (strcmp(src_ip, stats->ip) == 0) { stats->count++; } // 如果需要统计目的IP的连接数,可以取消注释以下代码 // else if (strcmp(dst_ip, stats->ip) == 0) { // stats->count++; // } } } int main() { char errbuf[PCAP_ERRBUF_SIZE]; pcap_t *handle; char *dev; struct bpf_program fp; bpf_u_int32 mask, net; char filter_exp[] = "tcp"; IPStat stats; // 选择设备并打开 dev = pcap_lookupdev(errbuf); if (dev == NULL) { fprintf(stderr, "Couldn't find default device: %s\n", errbuf); return 2; } handle = pcap_open_live(dev, SNAP_LEN, 1, READ_TIMEOUT, errbuf); if (handle == NULL) { fprintf(stderr, "Couldn't open device %s: %s\n", dev, errbuf); return 2; } // 编译过滤器表达式 if (pcap_compile(handle, &fp, filter_exp, 0, net) == -1) { fprintf(stderr, "Couldn't parse filter %s: %s\n", filter_exp, pcap_geterr(handle)); return 2; } // 设置过滤器 if (pcap_setfilter(handle, &fp) == -1) { fprintf(stderr, "Couldn't install filter %s: %s\n", filter_exp, pcap_geterr(handle)); return 2; } // 设置要统计的IP地址 strcpy(stats.ip, "192.168.1.1"); stats.count = 0; // 开始捕获 pcap_loop(handle, 0, packet_handler, (u_char *)&stats); // 打印结果 printf("IP %s has %d TCP connections\n", stats.ip, stats.count); // 清理 pcap_freecode(&fp); pcap_close(handle); return 0; } ``` 这个程序将捕获所有TCP流量,并统计指定IP地址的TCP连接数。请注意,这个程序统计的是捕获到的包中,指定IP地址作为源地址或目的地址的TCP包的数量,而不是实际的“连接数”。要准确统计一个IP地址的TCP连接数,需要更复杂的逻辑来跟踪TCP连接的状态。 此外,这个程序假设网络接口是标准的以太网接口,并且IP和TCP头紧随其后。在实际应用中,可能需要根据网络环境进行调整。
 2   0  61天前
admin
460
在Ubuntu 22.04 LTS中设置一个分区作为虚拟内存(交换分区)的详细步骤: 1. **检查现有分区**: 使用`lsblk`或`fdisk -l`命令查看现有分区,确定您想要使用的硬盘和分区。 2. **创建新分区**(如果需要): 使用`fdisk`或`parted`命令创建一个新的分区。例如,使用`fdisk`: ```bash sudo fdisk /dev/sda ``` 按照提示操作,创建一个新的分区,并确保将其设置为Linux交换分区(分区类型代码为`82`)。 3. **格式化新分区为交换分区**: 使用`mkswap`命令格式化新分区: ```bash sudo mkswap /dev/sdaX ``` 其中`/dev/sdaX`是您创建的新分区。 4. **启用交换分区**: 使用`swapon`命令启用交换分区: ```bash sudo swapon /dev/sdaX ``` 5. **添加到`/etc/fstab`以自动挂载**: 为了让交换分区在系统启动时自动启用,您需要将其添加到`/etc/fstab`文件中。首先,找到新交换分区的UUID: ```bash sudo blkid ``` 找到对应的`/dev/sdaX`的UUID。然后,将以下行添加到`/etc/fstab`文件中: ```bash UUID=您的交换分区UUID none swap sw 0 0 ``` 使用`nano`或您喜欢的文本编辑器编辑`/etc/fstab`: ```bash sudo nano /etc/fstab ``` 并将上述行添加到文件的末尾。 6. **调整`swappiness`参数**(可选): `swappiness`参数控制了系统使用交换空间的倾向。您可以通过编辑`/etc/sysctl.conf`文件来调整它: ```bash sudo nano /etc/sysctl.conf ``` 找到`vm.swappiness`项,如果没有,您可以添加它。例如: ```bash vm.swappiness=10 ``` 保存并退出编辑器。 7. **应用`sysctl`更改**: 为了使更改立即生效,运行: ```bash sudo sysctl -p ``` 8. **验证交换空间**: 使用`free -h`命令查看交换空间是否已正确设置: ```bash free -h ``` 9. **重启系统**: 为了使所有更改生效,重启系统: ```bash sudo reboot ``` 10. **检查交换空间**: 系统重启后,再次使用`free -h`命令确认交换空间是否已正确启用。 请注意,创建和修改分区可能会对您的系统造成风险,因此在进行这些操作之前,请确保您已经备份了所有重要数据。如果您对分区和格式化不熟悉,建议寻求专业人士的帮助或仔细阅读相关文档。
 2   0  79天前
admin
1058
sudo apt-get install lutris# lutris  游戏模拟器需要 wine32:i386 支持sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get install wine32:i386 https://github.com/lutris/dxvk/releases/download/v2.2/dxvk-2.2.tar.xz https://github.com/lutris/dxvk-nvapi/releases/download/v0.6.3/dxvk-nvapi-v0.6.3.tar.xz https://github.com/lutris/vkd3d/releases/download/v2.9/vkd3d-v2.9.tar.xzhttps://github.com/lutris/dgvoodoo2/releases/download/v2.8/dgvoodoo2-v2.8.tar.xzhttps://github.com/lutris/d3d_extras/releases/download/v2/v2.tar.xzgithub.com/GloriousEggroll/wine-ge-custom/releases/download/GE-Proton8-13/wine-lutris-GE-Proton8-13-x86_64.tar.xzlutris-GE-Proton8-13-x86_64/bin/wine /home/eisc/下载/WeChatSetup.exe# 安装命令卸载 wine :sudo apt remove wine32:i386 -ysudo rm -rf ~/.wine/
 4   0  342天前
admin
848
wget work.eisc.cn//ruanjian/ubuntu/deb/tools/chrome.tar.gz# 研究已经安装 deb 包,使用程序方式打开google自动创建 图标 
 4   0  344天前
admin
859
如果你想在Ubuntu上搭建一个在线流程图的平台,你可以使用开源的项目来实现。其中一个流行的开源项目是draw.io,它提供了一个基于Web的流程图绘制工具。 要在Ubuntu上安装draw.io的源码,你可以按照以下步骤进行操作: 安装Java开发工具包(JDK): sudo apt update sudo apt install default-jdk 安装Apache Maven构建工具: sudo apt install maven 克隆draw.io的源码仓库: git clone https://github.com/jgraph/drawio.git 进入draw.io目录并使用Maven构建项目: cd drawio mvn clean package 构建完成后,在draw.io/target/目录下会生成war文件。将war文件部署到Tomcat或其他Java Web服务器中。 以上步骤会从draw.io的GitHub仓库克隆最新的源码,并使用Maven构建项目。你可以根据自己的需要进行修改和定制。 请注意,这只是一个基本的安装过程,你可能还需要进行其他配置和依赖项的安装,具体取决于你的环境和需求。你可以参考draw.io的官方文档和GitHub仓库以获取更详细的信息和指导。环境配置nano /etc/profile#### jdk ####export JDK_HOME=/datadisk/eisc/server/path/jdk-20.0.2/binexport PATH=${JDK_HOME}:$PATH#### MVN ####export MVN_HOME=/datadisk/eisc/server/path/apache-maven-4.0.0-alpha-7/binexport PATH=${MVN_HOME}:$PATH# 目录根据实际修改reboot#  重启生效。或者: source /etc/profle ; bash  刷新1. jdkwget work.eisc.cn/ruanjian/ubuntu/deb/server/jdk-20_linux-x64_bin.tar.gz2.mavenwget work.eisc.cn/ruanjian/ubuntu/deb/bin//apache-maven-4.0.0-alpha-7-bin.tar.gzmvn archetype:generate -DgroupId=com.example -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false# 配置 mvn poxnano pom.xml# 在maven 根目录下 写入下面信息<project xmlns="http://maven.apache.org/POM/4.0.0"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>    <groupId>com.example</groupId>    <artifactId>my-app</artifactId>    <version>1.0-SNAPSHOT</version>    <properties>        <maven.compiler.source>1.8</maven.compiler.source>        <maven.compiler.target>1.8</maven.compiler.target>    </properties>    <dependencies>        <!-- 添加您需要的依赖项 -->    </dependencies></project>mvn install ; mvn clean install#在maven 根目录下 执行命令################ 安装在线流程图 ####################git clone https://github.com/jgraph/drawio.gitcd ./frawio/drawio/my-appmvn clean package在目录:./frawio/drawio/my-app/target 生成 tar包
 4   0  347天前
admin
1226
sudo apt install gnome-tweaks -y sudo apt reinstall -y gnome-shell-extensions sudo reboot # 重启电脑 URL=work.eisc.cn #URL=10.111.111.80:62011 wget http://$URL/ruanjian/ubuntu/gnome/Cupertino-Catalina.tar.gz wget http://$URL/ruanjian/ubuntu/gnome/Sierra-light.tar.gz wget http://$URL/ruanjian/ubuntu/gnome/Minimal-Conception.tar.gz sudo tar -xzvf Cupertino-Catalina.tar.gz sudo tar -xzvf Sierra-light.tar.gz sudo tar -xzvf Minimal-Conception.tar.gz sudo cp -R Sierra-light /usr/share/themes/ sudo cp -R Minimal-Conception /usr/share/themes/ # 主题+shell sudo cp -R Cupertino-Catalina /usr/share/icons/ # 图标 # 安装后,需要 设置 -> 扩展 -> 运用软件 -> 下滑到 【User Themes】 Load shell thems from user directory 打开这个功能 # 或者 点击左下角的9宫格魔方 选择扩展 gnome-tweaks # 点击外观 shell 选择 Minimal # 点击运用程序 选择 Sierra-light # 点击 图标 选择: Cupertino-Catalina # 窗口标题栏 -> 标题栏按钮 -> 放置 -> 左 点击左右切换 # 设置 -> 外观 -> dock -> 面板模式(关) -> 屏幕上的位置 (底部) # 设置 -> Dock > 面板模式 : 将 Dock 延伸至屏幕边缘 -> 关闭
 6   1  379天前
admin
847
nautilus  ./  # 打开当前目录下的文件管理器
 4   0  379天前
admin
1358
命令窗口输入命令: nm-connection-editor # wifi 设置 # 需要删除之前创建的 wifi : 光标选中 已创建的 点击 减 号 # 创建:点击 + 号 -> 选择连接类型 -> (硬件 wifi ) -> 创建 -> # 连接名称: eisc -> SSID eisc -> 模式 : 热点wifi -> 频段 5G # 设备:选择网卡 -> wi-Fi 安全性: WPA 及 WPA2 个人 -> 密码: aaaassss # 常规:取消勾选: 自动以优先级连接 # 保存 (热点自动打开) # 设置 -> wifi -> 右上角 三点多选 展开 -> 打开 wifi 教程: https://blog.csdn.net/weixin_48319333/article/details/129901969
 4   0  382天前
快速发帖 高级模式
guest
登录之后更精彩~
我的小伙伴
Powered by HadSky 7.12.10
© 2015-2024 PuYueTian
小绿叶技术博客