Linux ☞ Good good study,day day up
一. 修改桌面程序图标
linux的桌面图标都是在/usr/share/applications 目录下的那些 *.desktop文件,修改桌面程序图标就是修改.desktop图标配置文件中Icon的值,这个值对应 /usr/share/icons/hicolor/@x@/apps 目录中的文件名. 注意: 每个文件夹中文件名必要一致! 其中,@x@ 是不同分辨率像素大小: 16x16 24x24 32x32 48x48 256x256 当然像素大小不只有这几个。
打开.desktop修改icon 修改为:
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false Exec=/opt/QQ8.9.2/qq.sh
Name[zh_CN]=Q-Q
Name=Q-Q
Icon=if_twitter
不同的文件夹中每个文件名称都一样!
删除/usr/share/icons 目录下的icon-theme.cache文件
sudo rm icon-theme.cache
效果:
同理,修改默认的linux桌面图标也是一样
我这里用的是ubuntu-mate, 所以打开新建的.desktop文件的icon=mate-panel-launcher,通过搜索文件,可以看到在4个目录里面,只要修改对应的16x16, 22x22, (24x24), 32x32 四目录里面的png文件即可.
二.回收站无法清空
在用户的回收站里删除文件or清空回收站提示:无法删除
这是因为我们以root的身份在资源管理器删除文件后,用户回收站里面是么有权限操作的.
解决办法:/home/USERNAME/.local/share/Trash/files 里面执行命令
sudo rm -rf *
三.Ubuntu-mate设置面板
Ubuntu中没有类似Windows的任务栏,但mate中有类似任务栏的栏目叫面板 mate-panel
在面板栏目选择新增到面板
例如: 完整指示器小程序 添加后如下
例如: 窗口列表 添加后如下
例如: 通知区域小程序
通知区域 小程序显示一个应用程序活动图标。例如,当您使用 CD 播放器 播放一个 CD 时,一个 CD 光盘图标显示在 通知区域。上面的图就是表示 CD 图标在 通知区域 时的样子。
添加后如下
四.设置自启动程序
在 /etc/xdg/autostart/ 目录desktop文件为延迟自启动文件,但不是每个文件都是自启动的,要看desktop文件中是否开启自启动
该自启动为系统级启动
AutostartCondition=GSettings org.gwibber.preferences autostart
# 将输入法设置自启动的
fcitx-ui-sogou-qimpanel.desktop -> /usr/share/applications/fcitx-ui-sogou-qimpanel.desktop
用户级启动目录在:
~/.config/autostart
同样的取决于desktop文件是否开启自启动
X-GNOME-Autostart-enabled=true
X-MATE-Autostart-enabled=true
五.删除主菜单中不用的菜单链接
"正规软件"一般安装好后,会在:
/usr/share/applications
目录中,但有时我们可能通过wine,arcinstall,生成的快捷桌面菜单等安装的文件不会中"/usr/share/applications"中
而是中:
/home/nokia/.local/share/applications
删除对应的desktop即可.
六.使用Sha-dowsocks-Qt5+SwitchyOmega+Outline 渴雪尚旺
Ubuntu下Outline客户端链接不稳定 & 每次开机必启动,无法关闭掉的那种,这都不是事,最大的问是,当电脑睡眠开机后,Outline断开了,系统的网络也断开了,即使关掉Outline,电脑也连不上网,只能重启网络才可以。
网上查询到Outline用的是ss的协议,所以,可以将Outline生成为SS加密链接,https://fenghe.us/oultine-ss-link-decode/
在通过Shado-wsocks-Qt5 + SwitchyOmega 就可以实现 渴雪尚旺
Shadow-socks-Qt5 设置
这里服务器和服务器端口密码就是Outline翻译后的ss会提供,这里的加密协议用的是chacha20-ietf-poly1305 一定要注意。
本地端口就是用客户端连接的端口
SwitchyOmega 设置自动选择auto switch
1:将本地的127.0.0.1与在Shad-owsocks自定义的本地端口号对应上,因为Shadowso-cks协议使用的是socket所以,这里代理协议选择socket5
2:进入auto switch 将规则列表中的情景模式选择为proxy
3:新增AutoProxy 代理
规则列表可能要根据实际情况有变化,所以自行找gfwlist吧,这里提供一个URL: https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt
或者去SwitchyOmega插件的github看看: https://github.com/FelisCatus/SwitchyOmega/wiki/GFWList
4:在浏览器中选择SwitchyOmega插件的auto switch模式
七.打开终端每次提示:To run a command as administrator (user "root")....
每次打开终端提示:
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
这个表示如果要用管理员操作要用'sudo cmd', 如果要关闭这个提示执行:
touch ~/.sudo_as_admin_successful
所以出现这个问题的原因是您删除了用户目录下的 sudo_as_admin_successful
文件
来自:https://askubuntu.com/a/22614
八. Ubuntu的软件源(仓库)
Launchpad.net 的介绍;
Launchpad is a software collaboration platform that provides: Bug tracking Code hosting using Bazaar Code reviews Ubuntu package building and hosting Translations Mailing lists Answer tracking and FAQs Specification tracking Take the tour!
要找Ubuntu的软件就直接 https://launchpad.net/ubuntu Find a Package
如果没有安装软件中心(精简安装),可以
sudo apt install gnome-software
gnome-software 里面的软件均来自launchpad-ubuntu
例如:你可以直接 (deepin的截图工具)
sudo apt install deepin-screenshot
也可以search 找到 https://launchpad.net/ubuntu/cosmic/amd64/deepin-screenshot
同时就能找到二进制的下载地址: http://launchpadlibrarian.net/361451823/deepin-screenshot_4.0.11-1_amd64.deb
九. 设置Arc-Dark-theme 主题
Arc Theme
Arc is a flat theme with transparent elements for GTK 3, GTK 2 and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments like GNOME, Unity, Budgie, Pantheon, Xfce, MATE, etc.
相比自带的gnome-theme主题,我更喜欢Arc-Dark主题
sudo apt install arc-theme
也可以去 https://www.gnome-look.org 找自己喜欢的theme
github地址: https://github.com/horst3180/arc-theme
安装好之后就能在 外观首选项- 就能看到Arc-Dark
选择自定义,修改窗口边框- Ambiant-MATE
修改menu菜单图标
Arc-Dark主题自带的menu图标是debian的logo,更喜欢用Arc-Dark黑色主题图标代替,so,只要替换 /usr/share/icons/gnome/@x@/places 其中@x@ 包括 16x16、22x22、24x24、32x32、48x48,的debian-swirl.png。 像素大于23pix才能起作用,因为menu面板Panel最低像素23pix,换句话说,只要修改24、32、48包含的图标也ok。
十.添加快捷键
在 设置- 控制中心 - 键盘快捷键 中新建
名称: 系统监视器
命令:gnome-system-monitor
设置快捷键 : Shift + Ctrl + Esc
类似的,可以新增DIY自己喜欢的快捷键
*注: caja必须要带路径 (caja /home/nokia/)
十一.xmodmap 修改键盘映射
查看键盘按键对应的键值:
xev | grep keycode
也可以直接打印键值对应编码
xmodmap -pke
例:将Caps Lock 映射为‘=’ (某哥经常用equal)
首先要remove 掉Caps_Lock的Lock,否则即使修改了映射,但Caps_Lock键还保留了Lock的作用,专业一点这叫“修改修饰键的行为”
参考: https://blog.csdn.net/robertsong2004/article/details/36439597
通过pke查找‘=’与Caps_Lock 对应的keycode
keycode = equal plus equal plus
keycode = Caps_Lock NoSymbol Caps_Lock
在home ~/目录下新建.xmodmaprc文件
内容:
remove Lock = Caps_Lock
keycode = equal
保存后执行:
xmodmap ~/.xmodmaprc
xmodmap不会自动保存配置,甚至重启fcitx (pkill fcitx && fcitx)重启系统后便会丢失,所以需要保存到脚本,开机启动
新建脚本keyboardmaps 脚本内容
#! /bin/bash
xmodmap /home/mylinux/.xmodmaprc
赋予执行权限
chmod keyboardmaps
在控制中心-启动应用程序 新增开启启动程序,这里新增的启动程序是用户级别的启动程序,不是系统级别的启动,所以参考 【#autostart 锚点】 中的 ~/.config/autostart 目录生成的文件
十二.数字小键盘不能用
数字小键盘Num Lock按压灯有反应,enter也可以用,但其他数字键和运算符号不能用,网上一堆说 按下 shift + alt 和 NumLock 或者修改 /etc/console-tools/remap 没一个有效果的,后来找到原因,是因为小键盘接管了鼠标指针
解决办法: 控制中心- 键盘首选项- 鼠标键 去掉 允许使用键盘指针
十三.Ubuntu开机启动数字小键盘
第一步: 安装numlockx
sudo apt-get install numlockx
我们可以直接在终端中使用 numlockx on 或者 numlockx off 看小键盘lock灯的变化。
第二步:控制中心-登陆窗口管理-设置 激活numlock
十四.由于没有公钥,无法验证下列签名: NO_PUBKEY F57D4F59BD3DF454
下载sublimetext官网步骤:
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg
sudo apt-get update
sudo apt-get install sublime-text
update时提示法验证下列签名: NO_PUBKEY F57D4F59BD3DF454
解决方法:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F57D4F59BD3DF454
然后在
sudo apt-get update
sudo apt-get install sublime-text
十五.自定义命令
在~/.bash_aliases 新增
alias swapp='~/.config/swapp.sh'
alias reswap='~/.config/reswap.sh'
新增~/.config/swapp.sh, 编辑
#!/bin/sh
for i in $( cd /proc;ls |grep "^[0-9]"|awk ' $0 >100') ;do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps >/dev/null ; done | sort -k2nr | head -
新增~/.config/reswap.sh, 编辑
#!/bin/sh
sudo swapoff -a && sudo swapon -a
立即生效
source ~/.bashrc
在终端输入 swapp, reswap 即可
十六.修复desktop
使用mate桌面环境,安装/卸载某个应用发现desktop不显示,命令行执行caja,显示桌面,但依旧不见面板,once折腾,面板有了,但右侧类似托盘的小程序 "完整指示器小程序"不见了
修复方法: 重新安装mate-desktop
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ubuntu-mate-core ubuntu-mate-desktop
桌面图标不能自定义排列
习惯了桌面图标拖拽布局,按照自己的意愿排列,左上角显示应用,但某次修改了配置后,桌面图标不能拖拽布局了.
解决办法:
删除~/主目录名/.local文件
十七.误操作startx 无法登陆GUI
一次修改分辨率操作 sudo startx 导致分辨率只有640*480像素,重启系统后,输入正确的用户名、密码无法进入系统,一直停留在登陆界面。
解决办法:
修改主目录下的.Xauthority 拥有者组权限,因为执行sudo startx后.Xauthority 归root了,自己登陆的时候没有了权限。
1: 进入root GUI后修改.Xauthority 文件的用户组权限。
2:如果没有root GUI登陆,可以切换到tty1 (ctrl+alt+ F2/F1/...[!7])输入:
sudo chown pcuser:pcuser .Xauthority # pcuser 用户名
reboot
十八.Nvidia 显卡驱动问题
显卡驱动有专用驱动与开源驱动,有次从专用驱动切换开源驱动备份系统的时候,一直切换但一直更改不成功。重启后系统小图标就一直提示更新驱动的报错。根据提示执行: sudo apt install -f 命令后,显示:
正准备解包 .../libnvidia-gl-390_390.-0ubuntu0~gpu18..1_i386.deb ...
nvidia- 导致 /usr/lib/i386-linux-gnu/libGL.so. 转移到 /usr/lib/i386-linux-gnu/libGL.so..distrib
dpkg-divert: 错误: 删除 被 libnvidia-gl- 转移的 /usr/lib/i386-linux-gnu/libGL.so. 时
软件包名不匹配
解决办法: 移除old 依赖, 参考:https://askubuntu.com/questions/1035409/installing-nvidia-drivers-on-18-04
for FILE in $(dpkg-divert --list | grep nvidia- | awk '{print $3}'); do sudo dpkg-divert --remove $FILE; done[/CODE]
在执行
sudo apt install -f
十九.删除只读系统文件
systemback备份系统的时候提示创建以下硬链接时发生了一个错误,指向文件 /var/xdroid/common/rootfs/data/xdroid/xDroidProps.conf ,删除该文件提示
rm: 无法删除'/var/xdroid/common/rootfs/*****': 只读文件系统
解决办法:
查看文件系统与挂载点,卸载文件系统,
df -h
sudo umount -l /dev/loop5 # loop5改为自己的,-l 少不了
二十.Ubuntu下禁止mysql开机启动
网上好多是基于redhat系的
chkconfig[--add][--del][--list][系统服务]或chkconfig[--level<等级代号>][系统服务][on/off/reset]
基于deb系修改办法:修改mysql的 runlevel 的运行等级,找到配置文件不一定是mysql.conf命名。比如lnmp安装的mysql配置文件是/etc/init.d/mysql
sudo gedit /etc/init.d/mysql
修改Default-Start ,将runlevel 2去掉,关于runlevel 参考:https://developer.ibm.com/tutorials/l-lpic1-101-3/ , 修改后的片段配置代码如下:
# Comments to support LSB init script conventions
### BEGIN INIT INFO
Provides: mysql
# Required-Start: $local_fs $network $remote_fs
# Should-Start: ypbind nscd ldap ntpd xntpd
# Required-Stop: $local_fs $network $remote_fs
Default-Start:
# Default-Stop:
# Short-Description: start and stop MySQL
# Description: MySQL is a very fast and reliable SQL database engine.
### END INIT INFO
二十一.外网ssh访问局域网linux
1:局域网安装sshd
sudo apt install openssh-server
2:设置动态DNS
可以软件安装设置(花生壳、nat123),可以在路由器中设置(系统服务-动态DNS)
3:路由器设置端口映射/ 网络地址转换
传输控制-NAT设置-虚拟服务器(外部端口-对应的内部端口-对应的内部IP)
4: 外网访问
ssh root@myhosts99.tpddns.com
或者Terminal/SecureCRT 直接远程
二十二. 安装chromium-browser
电脑安装chromium-browser 我们可以直接下载官网deb文件或通过命令行安装也可以。但使用linuxdeploy在Android上安装Ubuntu后,下载的deb文件安装提示:
dpkg: error processing archive ****.deb (--install):
package architecture (amd64) does not match system (armhf)
所以使用deb安装必须要匹配平台比如,手机Android用的就是arm。
解决办法:
使用通用办法 apt安装,apt会直接匹配安装包的(armhf)平台
sudo apt install chromium-browser
二十三. ppk文件转换为ssh文件
putty秘钥文件.ppk文件可以在windows下 直接导入.ppk于username@domain 连接服务器。 在ubuntu下,可以将ppk文件转换成ssh文件(但是严格讲,生成的ssh文件是PEM格式的x.509证书文件)
sudo apt-get install putty-tools
转换命令:
puttygen forputty.ppk -o mykey.ssh -O private-openssh
生成mykey.ssh文件后用下面的命令登录即可
ssh -i mykey.ssh ubuntu@AmazonIP
可以写一个bash,直接./登录
#! /bin/bash
ssh -i /home/UDisk/important/dev.uuu.aws.ssh ubuntu@www.uuu.net
注意
1:每个ubuntu下要重新执行转换命令,私钥mykey.ssh文件复制到其他Ubuntu系统上无效。
2:直接使用pem证书文件时,遇到 Load key "key.pem": bad permissions Permission denied (publickey) 问题时,一般都是给的权限太高,降低秘钥权限,将key.pem文件的权限修改为400即可。
二十四. ssh: connect to host 192.168.1.160 port 22: Connection refused
ssh无法链接到局域网
sudo apt install openssh-server
二十五. ssh 端口转发
有两个问题:
1:需要外网能访问局域网22 80等端口
2:A服务器只允许特点IP(B服务器)进行端口访问mysql、ftp等
这两个问题可通过端口转发实现,端口转发都是在本地执行,这里说的远程是指外网可以访问的公网
1:远程端口转发: (将本地端口转发到远程)
ssh -CfNg -R :0.0.0.0: root@39.156.66.18 -- 密码登陆
ssh -CfNg -R :0.0.0.0: -i /home/tencent/ssh.pem useroot@39.156.66.18 --ssh登陆 # 把本地的22转发到远程的23456
可以公网39.156.66.18登录内网192.168.1.160 ssh -p 23456 user@localhost
2:本地端口转发: (将远程端口转发到本地)
ssh -CfNg -L :0.0.0.0: -i /home/tencent/ssh_.pem useroot@39.156.66.18 # 把远程的3306转发到本地的3307
本地转发的场景比较多,比如: 本地无法访问A服务器的mysql端口,或者说访问A服务器的mysql连接特别不稳定,但B服务器访问A很流畅且本地访问B也很流畅,此时可以通过B服务器做为中间代理,这样B代理A的端口,用本地再去连接B代理的端口。
再比如:C是一台s3服务器,只允许A服务器IP连接,但是本地连接A又出现不稳定的情况,刚好有个B服务器,但是因为C设置了访问控制策略,B连接不上C但是可以连接A,此时可以通过B服务器代理A的端口去访问C服务器,本地在访问B服务的代理端口,这样就形成了本地访问C服务器的目地。
3: 动态端口转发:(socket V5转发)
动态转发是指将本地的指定端口请求以socket的形式动态转发到远程,包括 socket TCP/UDP 、http、https。
ssh -CfNg -D 0.0.0.0: useroot@39.156.66.18
ssh -CfNg -D 0.0.0.0: -i /home/tencent/ssh_.pem useroot@39.156.66.18
传说中的ssh 翻.Qiang,就差一步,
在浏览器或系统网络设置中设置socketV5 代理 设置服务器为本地或代理端口转发的服务器(V.P.N 服务商),端口设置为23456,本地访问的任何请求都会转发到远程。
二十六.Ubuntu MATE 输入法按钮引起死机的问题
参考:https://forum.ubuntu.org.cn/viewtopic.php?p=3219050
任务栏指示器中,当fxit的输入法变为键盘图标+cn时,鼠标点击输入法导致假死,无法操作键盘和鼠标
解决方法:
在系统设置-fcitx设置-附加组件-高级,找到DBus based new Freedesktop.org tray icon(基于DBus....托盘图标)一项,取消勾选
重启fcitx -r
二十七.无法自动挂载U盘
U盘插上电脑,提示 computer://media/***/*** This location could not be displayed
使用 sudo fdisk -l 可以看到/dev/sdb1 存在这个设备
解决办法:
cd /media
sudo chmod username #你电脑用户名
二十八. tar备份整个系统
使用以下命令来备份系统
1: 先切到根目录后执行
2:挂载的存储设备最好拔掉
3: 清空回收站,自己目录下和root目录下,最需要注意的是根目录下也存在一个/.Trash-0/files 回收站,这个是因为使用root登录GUI资源管理器,并通过del删除的文件。
sudo tar -cvpzf ./backup.tgz --exclude=./backup.tgz --exclude=./proc --exclude=./lost+found --exclude=./mnt --exclude=./media --exclude=./sys --exclude=./run --exclude=./tmp ./
恢复的时候如果没有/proc 目录需要先建立 /proc, 否则系统无法启动。
二十九. Ubuntu英文版本的某些中文字显示的问题
这个问题是因为Ubuntu默认使用language-selector-prefer JP为优先显示字体,解决方案:
sudo gedit /etc/fonts/conf.avail/-language-selector-prefer.conf
将sans-serif、serif、monospace 字体的第一个prefer/family 优先级改为Noto Sans Mono CJK SC (Simplified Chinese),重启就能看到效果。
<alias>
<family>sans-serif</family>
<prefer>
<family>Noto Sans CJK SC</family>
<family>Noto Sans CJK KR</family>
<family>Noto Sans CJK JP</family>
<family>Noto Sans CJK TC</family>
<family>Noto Sans CJK HK</family>
</prefer>
</alias>
Linux ☞ Good good study,day day up的更多相关文章
- Linux File Recovery Study
Background Today I did stupid things that I went into the ~/Downloads/ and pressed [Alt] + [A] then ...
- Linux Bootup Time
Linux Bootup Time 英文原文地址:http://elinux.org/Boot_Time 1. 简介 启动时间这一话题包括很多子话题,比如启动时间的衡量.启动时间的分析.人为因素分 ...
- Linux 驱动开发
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...
- 怎样才能自学好Java?
经常有初学Java的同学问:怎么样才能学好Java?自学Java难吗? 我认为自学Java并不难.相对于其他语言来说,因为Java95年才出来,所以相对比较新,旧的语言中一些不合适的东西在Java里面 ...
- springmvc+logback项目的日志搭建
一.重写HTMLLayout 两个自定义类:LzhHTMLLayoutBase和LzhHTMLLayout LzhHTMLLayoutBase代码如下: package top.liaozhengha ...
- KALI Linux problems & Study Red Hat | Ubuntu
Problem When you ask some website with https head.you may met the problem secure connection failed ...
- Linux study
在centos5.5中编译LNMP环境 一.配置好ip, dns, 网关, 确保使用远程连接工具能够连接服务器 centos设置ip地址,网关, dns教程: http://www.osyumwei. ...
- study notes: high performance linux server programming
1:linux网络API分为:socker地址API,socker基础API,网络信息API 1,socker地址API:包含IP地址和端口(ip, port).表示TCP通信的一端. 2,socke ...
- linux系统内核流转浅析
SJTUBEAR 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 我们通过简单 ...
随机推荐
- ORM表相关操作
一般操作 看专业的官网文档,做专业的程序员! 必知必会13条 > all(): 查询所有结果 > filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 > get( ...
- request 获取body内容
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException ...
- github+jekyll个人博客搭建
Thanks to https://blog.csdn.net/Hanghang_/article/details/78944672 跟着这个博客一步步搭建,从jekyll官网上找到自己喜欢的主题. ...
- 51nod97B 异或约束和
题目 定义\(f(i)\)为\(i\)的所有约数的异或和,给定 \(n(1\le n \le 10^{14})\) ,求\(f(1) xor f(2) xor f(3) xor...xor f(n)\ ...
- Digao 连接Mysql 连接不上解决办法
错误一:No module named 'MySQLdb' 原因:python3连接MySQL不能再使用mysqldb,取而代之的是pymysql. 解决方法:在python的MySQL包中,即路径: ...
- C语言博客作业06——结构体&文件
C语言博客作业06--结构体&文件 1.本章学习总结 1.1思维导图 1.2.本章学习体会 在本周的学习中,我们学习了关于结构体和文件的内容.结构体的本身并不难,但以结构体为基础的链表还是让我 ...
- Windows10搭建FTP服务
1.启用Windows10 Ftp服务 打开控制面板->程序和功能->启用或关闭windows功能然后如图: 2.配置FTP用户 我的电脑->右击点击管理->本地用户和组 在A ...
- http 400错误【原】
http 400错误现象: 使用java代码访问某PDF文件地址, 报了http 400错误 ,浏览器却能正常访问 . 所以猜测浏览器对地址做了额外处理. 异常代码 String srcUrl = & ...
- Cmake出现CMake Error: Could not find CMAKE_ROOT !!!
试了很多方式, 其实只需要这一句话!!!!!! hash -r
- Docker实践之02-使用镜像及定制
目录 一.获取镜像 二.使用镜像启动容器实例 三.列出镜像 四.删除本地镜像 五.定制镜像 通过commit命令定制镜像 通过Dockerfile定制镜像 docker build的工作原理 dock ...