linux · 2021年 12月 18日 0

linux设置

编辑 /etc/mkinitcpio.conf 文件,找到 HOOKS 一行,删除括号里的 kms 内核模块,比如本来是这样的:

HOOKS=(base udev autodetect modconf kms keyboard keymap consolefont block filesystems resume fsck)

修改成这样:

HOOKS=(base udev autodetect modconf keyboard keymap consolefont block filesystems resume fsck)

再重新生成 initramfs,运行 sudo mkinitcpio -P。
https://sspai.com/post/78749#!

点击应用程序图标最小化

Ubuntu Dock是访问常用应用程序以及添加到收藏夹的有用工具。 “点击”功能区中图标的默认行为是:(1)如果相应的应用程序尚未运行,则将其打开。(2)如果相应的应用程序已经在运行,它将成为重点。(3)如果聚焦,相应的应用程序不会最小化。
这是我们要在此处更改的第三种行为。

启用 ‘ 选项的最快方法点击最小化’在 Ubuntu. 我们只需要打开一个终端(Ctrl + Alt + T)并在其中执行以下命令:

gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize'

撤消我们刚刚使用上一个命令所做的更改 并返回Ubuntu Dock的默认配置,在终端中使用的命令如下:

gsettings reset org.gnome.shell.extensions.dash-to-dock click-action

参考文献:ubuntulog

Linux与Windows文件显示乱码

问题:

  • 在Windows下用matlab写的代码(.m)文件复制到Linux(Ubuntu)下,注释的中文全是乱码
  • 反之,也是一样

原因:

  • Windows下默认使用的是GB2312编码,Linux默认使用的是UTF-8。 所以在Windows下产生的代码是GB2312编码,在Linux下当然识别为乱码 ;
  • 反之,同理乱码 。

解决方法:使用linux下的iconv 命令改变文件的编码

test1.mGB2312转换成UTF-8(windows下matlab的代码在linux下运行)

iconv  -f  GB2312  -t  UTF-8  test1.m  -o  test.m

test2.m由UTF-8转换成GB2312(linux下matlab的代码在windows下运行)

iconv -f  UTF-8  -t  GB2312  test2.m  -o  test.m

如果文件过多,要进行批处理

#!/bin/bash
# 功能:将GB2312文件 转换成 UTF-8【解决Windows文件复制到Linux之后乱码问题】
#read -p "Input Path:" SPATH
SPATH="."
#echo SPATH
POSTFIX="m"
param1="1"
if [ "param1" == "win" ];then
   sys1="Linux"
   sys2="Windows"
   format1="UTF-8"
   format2="GB2312"
elif [ "param1" == "linux" ];then
   sys1="Windows"
   sys2="Linux"
   format1="GB2312"
   format2="UTF-8"
else
   echo "************** 功能 ************"
   echo "  解决matlab脚本文件在Windows和Linux中移动时出现的乱码问题!"
   echo "  将该脚本复制到程序文件夹中,运行该脚本,它会对当前文件夹及子文件夹中的所有*.m文件进行格式转换,解决乱码问题。"
   echo "  转换到 Linux 的命令: 0 linux"
   echo "  转换到 Window的命令:0 win"
   exit
fi

echo "********************************"
echo "  格式转换中......"
echo "  从"sys1"("format1") 转换到 "sys2"("format2")"
echo "********************************"


FILELIST(){
filelist=`ls SPATH `
for filename infilelist; do
    if [ -f filename ];then
        #echo File:filename
        #echo "{filename#*.}"
        EXTENSION="{filename#*.}"
        #echo EXTENSION
        if [ "EXTENSION" == "POSTFIX" ];then
           #echo "{filename%%.*}"
           echo Processing: filename
           iconv -fformat1 -t format2filename -o filename
           #iconv -f GB2312 -t UTF-8filename -o filename
        fi

    elif [ -dfilename ];then
        cd filename
        SPATH=`pwd`
        #echoSPATH
        FILELIST
        cd ..
    else
        echo "SPATH/filename is not a common file."
    fi
done
}
cd $SPATH
FILELIST
echo "======== Convert Done. ========"

另存为 convertMatlab.sh, 将该脚本放在需要进行转换的文件夹中, 执行脚本,可以将当前目录和其子目录下的所有文件转换成指定的编码方法 。

由GB2312转换成UTF-8

./convertMatlab.sh  win

由UTF-8转换成GB2312

./convertMatlab.sh  linux

参考文献:

中文字体乱码与设置

ubuntu中,通过以下命令

sudo dpkg-reconfigure locales

使用空格选中en_US.UTF-8,zh_CN.UTF-8,通过tab键盘选中ok,再将zh_CN.UTF-8设为默认,重启 shell即可

参考文献:

RHEL8.0 网络和源

Redhat8.0 在使用yum安装软件时,报错:

Unable to read consumer identity This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Error: There are no enabled repos.

解决方法:

1、删除系统自带yum包

查看已经安装的yum包

rpm -qa|grep yum

不检查依赖直接删除所有yum包

rpm -qa|grep yum|xargs rpm -e --nodeps

检查是否删除成功

rpm -qa|grep yum
  1. 下载新的yum包,并安装
  113  wget http://mirrors.163.com/centos/8/BaseOS/x86_64/os/Packages/yum-4.4.2-11.el8.noarch.rpm
  114  wget http://mirrors.163.com/centos/8/BaseOS/x86_64/os/Packages/yum-utils-4.0.18-4.el8.noarch.rpm
  115  wget http://mirrors.163.com/centos/8/BaseOS/x86_64/os/Packages/python3-urllib3-1.24.2-5.el8.noarch.rpm

  116  rpm -ivh --force --nodeps yum-4.4.2-11.el8.noarch.rpm 
  117  rpm -ivh --force --nodeps yum-utils-4.0.18-4.el8.noarch.rpm 
  118  rpm -ivh --force --nodeps python3-urllib3-1.24.2-5.el8.noarch.rpm 

3、配置网络源

  122  cd /etc/yum.repos.d/
  123  ls
  124  mkdir backup
  125  mv redhat.repo backup/
  126  wget -O redhat.repo http://mirrors.aliyun.com/repo/Centos-8.repo
  128  yum clean all
  129  yum makecache 
yum repolist

4、验证

yum install gcc
yum install gcc-c++

参考文献:疾风

AppImage添加图标

准备好图标文件

建议下载的时候搜索xx图标或者xx icon进行下载,这样之后生成的图标能美观点。如果找不到 icon,进行转换

convert cajviewer.jpg cajviewer.icon

sudo mv cajviewer.icon /usr/share/applications

创建xx.desktop

在任意位置新建一个名为xx.desktop的文件,并写入如下内容:

[Desktop Entry]
Name=CAJVIEWER
Comment=cnki .caj 文件阅读器.
Type=Application
Exec=/usr/local/appimage/CAJViewer-x86_64-buildubuntu1604-210401.AppImage
Icon=/usr/share/icons/cajviewer.icon
Categories=Utility
img

添加到应用

sudo mv xx.desktop /usr/share/applications

参考文献: 知乎

录屏Kazam

Linux系统的截图工具有很多,我比较喜欢Kazam,因为它集成了截图和录屏功能,而且体积小。

安装

$ sudo apt install kazam

快捷键

Kazam有没有快捷键呢?答案是肯定的。但是很遗憾,在软件的帮助中啥都没有,所以只能去github上看看README,地址:https://github.com/sconts/kazam

README发现了几个快捷键

开始录制视频或者截图: SUPER+CTRL+R
结束录制视频: SUPER+CTRL+F

切换显示和隐藏Kazam客户端:SUPER+CTRL+W
退出kazam:   SUPER+CTRL+Q

暂停/继续录制视频:SUPER+CTRL+P  

自定义快捷键

打开系统设置 -> 选择设备 -> 选择键盘 -> 拉到最底处,看到自定义快捷键,点击+ -> 设置名称Kazam区域截图,设置命令 kazam -a,设置快捷键Ctrl+Alt+A(不能和其他快捷键重复,如果重复需要先解绑或者设置其他快捷键) -> 点击添加按钮,完成。

参考文献:conca

录屏SimpleScreenRecorder

安装

sudo apt install simplescreenrecorder

设置

  • img
  • img
  • img
  • img

df tmpfs

问题描述:df 显示磁盘空间会有很多出 tmpfs文件,虽然这是正常现象,但是看着特别碍眼啊,怎么办呢?

img/dev/loop1等已通过 sudo apt autoremove –purge snapd删除

解决方法:

运行 df 命令时添加选项,不显示它就好了:

df -x tmpfs -x devtmpfs -x squashfs
img

添加到 .bashrc

echo "alias df='df -x tmpfs'" >> ~/.bashrc
source .bashrc
img

参考文献:cnblog

清空历史命令

history -c or echo >$HOME/.bash_history

ASUS安装历史

1. apt系列

更新本地缓存

sudo apt update

查看可以升级的软件包

apt list –upgradable

预览升级

apt -s upgrade

升级所有软件包

sudo apt upgrade -y

升级指定包

sudo apt –only-upgrade install package1 package2

安装

sudo apt install rpm2cpio
sudo apt install net-tools
sudo apt install lsb-core
sudo apt install lightdm

卸载

sudo apt remove ubuntu-desktop (autoremove)

2. dpkg系列

安装

sudo dpkg -i sunloginclientshell-10.1.1.28779-amd64.deb

卸载

sudo snap remove gnome-3-28-1804 gnome-3-34-1804 gnome-3-38-2004 gnome-calculator gnome-characters gnome-logs gnome-system-monitor gtk-common-themes

sudo snap remove core18

sudo snap remove core20

sudo apt autoremove --purge snapd 

3.软件包安装

IDL
MATLAB

4.环境配置

用户

  • sudo useradd -d /rsgroup/xilong -s /bin/bash xilong
  • sudo useradd -d /rsgroup/xilong -s /bin/bash shuteng

服务

  • sudo systemctl enable frpc.service

.bashrc

alias c='clear'

alias sunlogin='sudo /usr/local/sunlogin/bin/sunloginclient'

alias cputem='cat /sys/class/thermal/thermal_zone0/temp'

alias df='df -x tmpfs -x devtmpfs'

Ubuntu系统不睡眠设置方法

不待机不休眠

sudo gedit /etc/systemd/logind.conf
# 修改下面这行:#HandleLidSwitch=suspend
# 改成这样:HandleLidSwitch=ignore
# 重启 Login Manager 服务:sudo restart systemd-logind

休眠后无法唤醒黑屏

检查是否安装了grep laptop-mode-tools 工具包

dpkg -l | grep laptop-mode-tools

无结果输出,表示未安装(如果已安装,忽略第2步)

安装laptop-mode

sudo apt install laptop-mode-tools

判断Laptop是否启用了laptop_mode模式

cat /proc/sys/vm/laptop_mode

结果为0,则表示未启动,如果为非0的数字则表示启动了

启动laptop_mode

在/etc/laptop-mode/laptop-mode.conf 中进行配置

找到次文件查找 *ENABLE_LAPTOP_MODE_ON_BATTERY*、ENABLE_LAPTOP_MODE_ON_AC、ENABLE_LAPTOP_MODE_WHEN_LID_CLOSED,全部设置为 1 就可以了。

执行命令

sudo laptop_mode start

参考文献:Zaf赵

Thinkpad Ubuntu下电池优化与管理

% Add the TLP-PPA to your package sources

sudo add-apt-repository ppa:linrunner/tlp
sudo apt-get update

% Install the following packages:

sudo apt-get install tlp tlp-rdw 

% For ThinkPads an additional

sudo apt-get install tp-smapi-dkms acpi-call-dkms 

% modify /etc/rc.local

sudo cp /etc/rc.local /etc/rc.local_backup
sudo vim /etc/rc.local
modprobe acpi_call
tlp start

% modify /etc/default/tlp

sudo cp /etc/default/tlp /etc/default/tlp_backup
sudo vim /etc/default/tlp
START_CHARGE_THRESH_BAT0=20
STOP_CHARGE_THRESH_BAT0=80

% check status

sudo tlp-stat -s

% remove

sudo apt-get remove --autoremove tlp

参考网址(RefRef1

Ubuntu更新源

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
sudo gedit /etc/apt/sources.list
......
sudo apt update

Ubuntu中禁用触摸板

临时设置触摸板

$ sudo modprobe -r psmouse     #关闭
$ sudo modprobe psmouse        #开启

永久生效的方法

setting-> mouse and padding->disable

蓝牙 bluetooth

查看蓝牙鼠标mac地址

[alex@t460p13:50 ~] $ hciconfig
hci0: Type: Primary Bus: USB
BD Address: F0:D5:BF:47:F7:B0 ACL MTU: 1021:4 SCO MTU: 96:6
UP RUNNING
RX bytes:63696 acl:3391 sco:0 events:2508 errors:0
TX bytes:599768 acl:40 sco:0 commands:2443 errors:0

解决Archlinux下蓝牙鼠标滞后感严重的问题

在bash下运行
$ export MOUSEHANDLE=hcitool con | grep "XX:XX:XX:XX:XX:XX" | awk '{print $5}'
$ sudo hcitool lecup –handle $MOUSEHANDLE –min 6 –max 7 –latency 0
参考文献:MOFNG

待机或重启后蓝牙关闭

解决方法,manjaro gnome DE下,修改

sudo vim /etc/bluetooth/main.conf
#修改为
AutoEnable true

Unable to mount root

Unable to mount root fs on unknown-block(0,0)

尝试选择其他版本,可以启动

选择 Advanced options for Ubuntu

选择其他内核

尝试修复错误

查看内核版本

dpkg --list |grep linux-image

重新运行失败的新版本升级

sudo update-initramfs -u -k 4.15.0-48-generic (根据实际情况选择)
sudo update-grub2
sudo reboot

18.04升级20.04(here)遇到这个问题

ubuntu命令行升级系统

sudo do-release-upgrade -d

参考文献 here,2021-1-21

windows乱码问题

为啥乱码

这个很明显Linux上面的文件是UTF-8的,但是本地用EXCEL打开CSV文件默认是GBK格式,编码不一致,所以就乱码

Linux如何转编码

自带命令 iconv

iconv -f 原编码 -t 新编码 filename -o newfile

-f : from 来源编码
-t : to 转换后新编码
-c: 忽略无效字符
-s: –silent,忽略警告
-o file : 可选,没有的话直接转换当前文件, 使用-o 保留源文件。

现实场景中常用的一套组合拳

  • 查看文件编码 使用file命令

举例:

file data.csv
data.csv UTF-8 Unicode text

我们可以看到data.csv格式的文件是UTF-8格式的,于是就可以利用上面的iconv命令对其进行转码为GBK格式

iconv -f UTF-8 -t GBK data.csv

如果需要保留data.csv源文件,那么需要加-o参数

iconv -f UTF-8 -t GBK data.csv -o data1.csv

于是就可以把转换为GBK格式的data1.csv数据发给业务的人员

参考来源:SunnyRivers

TOC