一. 修改桌面程序图标

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的更多相关文章

  1. Linux File Recovery Study

    Background Today I did stupid things that I went into the ~/Downloads/ and pressed [Alt] + [A] then ...

  2. Linux Bootup Time

    Linux Bootup Time 英文原文地址:http://elinux.org/Boot_Time 1.   简介 启动时间这一话题包括很多子话题,比如启动时间的衡量.启动时间的分析.人为因素分 ...

  3. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

  4. 怎样才能自学好Java?

    经常有初学Java的同学问:怎么样才能学好Java?自学Java难吗? 我认为自学Java并不难.相对于其他语言来说,因为Java95年才出来,所以相对比较新,旧的语言中一些不合适的东西在Java里面 ...

  5. springmvc+logback项目的日志搭建

    一.重写HTMLLayout 两个自定义类:LzhHTMLLayoutBase和LzhHTMLLayout LzhHTMLLayoutBase代码如下: package top.liaozhengha ...

  6. KALI Linux problems & Study Red Hat | Ubuntu

    Problem When you ask some website with https head.you may met the problem  secure connection failed ...

  7. Linux study

    在centos5.5中编译LNMP环境 一.配置好ip, dns, 网关, 确保使用远程连接工具能够连接服务器 centos设置ip地址,网关, dns教程: http://www.osyumwei. ...

  8. study notes: high performance linux server programming

    1:linux网络API分为:socker地址API,socker基础API,网络信息API 1,socker地址API:包含IP地址和端口(ip, port).表示TCP通信的一端. 2,socke ...

  9. linux系统内核流转浅析

    SJTUBEAR  原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 我们通过简单 ...

随机推荐

  1. ORM表相关操作

    一般操作 看专业的官网文档,做专业的程序员! 必知必会13条 > all(): 查询所有结果 > filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 > get( ...

  2. request 获取body内容

    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException ...

  3. github+jekyll个人博客搭建

    Thanks to https://blog.csdn.net/Hanghang_/article/details/78944672 跟着这个博客一步步搭建,从jekyll官网上找到自己喜欢的主题. ...

  4. 51nod97B 异或约束和

    题目 定义\(f(i)\)为\(i\)的所有约数的异或和,给定 \(n(1\le n \le 10^{14})\) ,求\(f(1) xor f(2) xor f(3) xor...xor f(n)\ ...

  5. Digao 连接Mysql 连接不上解决办法

    错误一:No module named 'MySQLdb' 原因:python3连接MySQL不能再使用mysqldb,取而代之的是pymysql. 解决方法:在python的MySQL包中,即路径: ...

  6. C语言博客作业06——结构体&文件

    C语言博客作业06--结构体&文件 1.本章学习总结 1.1思维导图 1.2.本章学习体会 在本周的学习中,我们学习了关于结构体和文件的内容.结构体的本身并不难,但以结构体为基础的链表还是让我 ...

  7. Windows10搭建FTP服务

    1.启用Windows10 Ftp服务 打开控制面板->程序和功能->启用或关闭windows功能然后如图: 2.配置FTP用户 我的电脑->右击点击管理->本地用户和组 在A ...

  8. http 400错误【原】

    http 400错误现象: 使用java代码访问某PDF文件地址, 报了http 400错误 ,浏览器却能正常访问 . 所以猜测浏览器对地址做了额外处理. 异常代码 String srcUrl = & ...

  9. Cmake出现CMake Error: Could not find CMAKE_ROOT !!!

    试了很多方式, 其实只需要这一句话!!!!!! hash -r

  10. Docker实践之02-使用镜像及定制

    目录 一.获取镜像 二.使用镜像启动容器实例 三.列出镜像 四.删除本地镜像 五.定制镜像 通过commit命令定制镜像 通过Dockerfile定制镜像 docker build的工作原理 dock ...