FEDORA优化

前言
以下的一些优化应该是我还在用fedora26的时候记录的,虽然现在我已经都更新到33了,不过这些优化还是有点用的,可以参考着改, 后续遇到的问题我也在慢慢更新上来。 目前已更新到fedora 38

2. 安装鼠标右键“在终端中打开”,33中默认好像已经有了

1
[root@cxd ~]$ sudo dnf install nautilus-open-terminal

3. 安装 GNOME-tweak-tool

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
$> sudo dnf install gnome-tweak-tool 
## 扩展库安装
### Dash to dock (可选:Dash to panel)
### system-monitor 
### Recent(Item)s (fedora 38 已无,暂为找到替代方案)
### Topicons plus git(fedora 38 已无,切换为 AppIndicator and KStatusNotifierItem Support)
### Drop down terminal(fedora 38 已无)
### Clipboard indicator(可以切换为 Clipboard History 或者 Pano) 
### Todo.txt 
### Bottompanel(将任务栏放到下面,与windows list 和 Dash to panel 扩展冲突)


## 扩展字体修正
# Drop down terminal: FONT_NAME_SETTING_KEY == monospace-font-name
# org.gnome.desktop.interface
# gsettings set org.gnome.desktop.interface monospace-font-name 'Source Code Pro 15'

4. 安装一些好用的额外工具和包

1
2
3
4
5
6
7
8
9
$> sudo dnf install flameshot  # 火焰截图,很好用,拥有win下面截图软件的一些功能 
$> sudo dnf install audacity   # 声音处理工具,实际好像没啥用   
$> sudo dnf install peek       # gif 图像录制工具 
$> sudo dnf install inkscape       # 矢量图画画工具 
$> sudo dnf install sleek      # todo 任务(https://github.com/ransome1/sleek)
$> sudo dnf install libreoffice-langpack-zh-Hans.x86_64   # libreoffice的中文语言包 
$> sudo pip3 install bpython
# https://linux.cn/article-11434-1.html
# sudo dnf install SDL2 android-tools # 安卓投屏工具 

5. 安装ficx输入法

https://blog.csdn.net/qq23425352/article/details/107379335

1
2
3
4
5
6
7
$> 
$> sudo dnf install fcitx fcitx-{ui-light,qt{4,5},table,gtk{2,3},table-chinese,configtool,sunpinyin}
$> sudo vim /etc/profile.d/fcitx.sh
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
# 开机启动项 添加fcitx ,然后重启

6. fedroa下多jdk切换方案

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
[cxd@0x5c0f opt]$ sudo update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_121/bin/java 1070
[cxd@0x5c0f opt]$ sudo update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_121/bin/javac 1070
[cxd@0x5c0f opt]$ sudo update-alternatives --install /usr/bin/jar jar /opt/jdk1.8.0_121/bin/jar 1070
[cxd@0x5c0f opt]$ sudo update-alternatives --install /usr/bin/javah javah /opt/jdk1.8.0_121/bin/javah 1070
[cxd@0x5c0f opt]$ sudo update-alternatives --install /usr/bin/javap javap /opt/jdk1.8.0_121/bin/javap 1070
[cxd@0x5c0f opt]$ sudo update-alternatives --config java

共有 3 个提供“java”的程序。
  选项 命令
-----------------------------------------------
* 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121-10.b14.fc25.x86_64/jre/bin/java)
  2 /opt/jdk1.8.0_121/bin/java

按 Enter 保留当前选项[+],或者键入选项编号:2

7. 系统bug优化-显卡

此方法解决了nouveau 对于nvidia显卡支持不好从而导致了gnome在锁屏状态卡死,从而无法登陆桌面,只能重启操作系统 (双显卡电脑).

1
2
3
4
# 1. 修改文件 /etc/default/grub
# 2. 修改行 GRUB_CMDLINE_LINUX 在末尾添加 nouveau.modeset=0 
# 3. 更新gurb:  grub2-mkconfig -o /boot/grub2/grub.cfg
# 4. 重启 

8. 系统bug优化-蓝牙

这也可能不是一个bug,具体问题是蓝牙鼠标连接后一段时间未使用电脑和鼠标,蓝牙将会自动被断开,但系统仍然显示连接中,手动断开后也无法在进行连接,只能删除原有连接然后重新配对, 多次查询相关无果后对蓝牙的相关配置文件进行检查,发现系统设置里面对于蓝牙有DiscoverableTimeout这么一个参数,此参数作用是设置蓝牙保持发现的最长时间,默认180秒. 修改此参数后问题解决.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# 解决方案 
# 1. 修改配置文件 /etc/bluetooth/main.conf
# 2. 修改 DiscoverableTimeout=0 

# 另: fedora官网wiki提供了另一种解决方案,说的大概是大部分的自动断开都是因为蓝牙服务未以守护进程方式运行,解决方案是 
## https://fedoraproject.org/wiki/How_to_debug_Bluetooth_problems#Simple_debugging 
# 1. 修改配置文件 /usr/lib/systemd/system/bluetooth.service
# 2. 修改参数  ExecStart 在末尾添加 -d 

# 重启 systemctl restart bluetooth.service 

9. systemd 添加后无权限启动问题 .service: Failed to execute command: Permission denied

此问题实际上是由于selinux开启enforcing(强制模式)导致的,一般的fedora用户应该都不会去关闭selinux吧,只有在服务器上为了方便才会去关闭,解决这个问题的方法有两种,一种是关闭selinux,或者将selinux设置为permissive(宽容模式),第二种就是直接修正上下文权限为bin_t,这个具体可以看下系统中其他可执行文件的上下文权限是什么(ls -Z),修改命令是chcon -t bin_t <binaryfile>,另外.service命名在systemd配置目录中了,systemctl status时却看不到,也是这个问题,这个问题也是我直接复制v2ray的时候发现的,这儿记录下.

10. fedora 32 启用 docker

https://linux.cn/article-12433-1.html

11. fedora 33 下修改Wayland桌面为x11

1
2
3
4
5
6
7
$> vim /etc/gdm/custom.conf
[daemon]
# Uncomment the line below to force the login screen to use Xorg
WaylandEnable=false
DefaultSession=gnome-xorg.desktop
#AutomaticLoginEnable=true
#AutomaticLogin=cxd

12. fedora 无法连接pptp(已解决)

原因是防火墙需要开启gre协议放行,以下是firewalld配置,可能linux用户都有这种情况,若其他类型vpn也出现无法连接情况,可能也是这个原因

1
2
3
4
$> firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p gre -j ACCEPT 
$> firewall-cmd --permanent --direct --add-rule ipv6 filter INPUT 0 -p gre -j ACCEPT 

# 如果上述配置仍然无效,那么你可能需要在连接高级中勾选"使用点到点加密(MPPE)(P)"选项

13. fedora 升级到指定版本

1
2
3
4
5
6
7
8
## 更新系统
$> sudo dnf upgrade --refresh
## 安装dnf-plugin-system-upgrade包
$> sudo dnf install dnf-plugin-system-upgrade
## 下载最新的 Fedora 更新包
$> sudo dnf system-upgrade download --releasever=35
## 重启升级
$> sudo dnf system-upgrade reboot

14. fedora下登陆密钥环未被解锁问题

  • 默认情况下,系统安装后,密钥环密码和基础帐号安装时候的密码一致,这个东西个人电脑感觉没什么用,可以通过以下方式进行取消
1
2
3
# fedora 下默认是没有安装seahorse的(本来我原来也没有找到解决方案,无意间测试ubuntu才发现这个)
$> sudo dnf install seahorse
# 活动栏中找到"密码和密钥"(及"seahorse"), 打开后找到登陆, 右键登陆,设置为空密码即可。

15. flatpak 应用如何挂载指定目录到应用环境中

  • 微信(Universal) 为例, 由于flatpak默认的沙盒保护机制,只有部分目录映射到了沙盒中。根据作者(web1n) 打包的仓库issue #14 可有多种解决方案,本站仅记录一种,其他请直接查看issue #14
1
2
3
# 安装 Flatseal 
## https://flathub.org/apps/com.github.tchx84.Flatseal 
$> flatpak install flathub com.github.tchx84.Flatseal