.desktop 修改后如何刷新

在Linux系统中,当您修改了 .desktop 文件后,需要刷新图标缓存才能使更改生效。以下是刷新图标缓存的方法:

方法一:使用命令行刷新图标缓存

  1. 打开终端

    按 Ctrl+Alt+T 组合键,或者通过应用程序菜单打开终端。

  2. 运行刷新命令

    输入以下命令并按回车:

    sudo update-icon-cache /usr/share/icons/*

    如果您修改的 .desktop 文件位于用户主目录下的 .local/share/applications/ 目录中,还需要运行以下命令:

    sudo update-icon-cache ~/.local/share/icons/*

    这些命令会更新系统的图标缓存,使您对 .desktop 文件所做的更改生效。

方法二:重启桌面环境

如果您不想使用命令行,或者命令行方法没有生效,您可以尝试重启桌面环境。重启桌面环境的方法取决于您使用的Linux发行版和桌面环境。以下是一些常见的重启桌面环境的方法:

  1. GNOME桌面环境

    • 按下 Alt+F2,输入 r,然后按回车。
  2. KDE桌面环境

    • 按下 Alt+F2,输入 kquitapp5 plasmashell && kstart5 plasmashell,然后按回车。
  3. XFCE桌面环境

    • 按下 Alt+F2,输入 xfce4-panel -r && xfwm4 --replace,然后按回车。
  4. LXDE桌面环境

    • 按下 Alt+F2,输入 lxpanelctl restart && openbox --restart,然后按回车。
  5. Cinnamon桌面环境

    • 右键单击桌面或面板,选择“故障排除”>“重新启动Cinnamon”。

注意事项

  • 在修改 .desktop 文件时,请确保文件语法正确,特别是 Exec= 行中的命令应确保无误。
  • 修改 .desktop 文件后,最好先检查文件的语法和格式,可以使用文本编辑器的语法高亮功能来帮助检查。
  • 刷新图标缓存后,可能需要重新登录或重启桌面环境才能使更改完全生效。

通过以上方法,您应该能够成功地刷新图标缓存,使对 .desktop 文件所做的更改生效。

"C:\Program Files\Java\jdk-17\bin\java.exe" "-javaagent:G:\IntelliJ IDEA 2025.1.3\lib\idea_rt.jar=55133" -Dfile.encoding=UTF-8 -classpath G:\Demo\Demo\target\classes;C:\Users\Administrator\.m2\repository\net\wimpi\jamod\1.2\jamod-1.2.jar;C:\Users\Administrator\.m2\repository\org\rxtx\rxtx\2.1.7\rxtx-2.1.7.jar;C:\Users\Administrator\.m2\repository\org\scream3r\jssc\2.8.0\jssc-2.8.0.jar;C:\Users\Administrator\.m2\repository\com\fazecast\jSerialComm\2.10.3\jSerialComm-2.10.3.jar;C:\Users\Administrator\.m2\repository\org\jetbrains\kotlin\kotlin-stdlib-jdk8\2.2.0\kotlin-stdlib-jdk8-2.2.0.jar;C:\Users\Administrator\.m2\repository\org\jetbrains\kotlin\kotlin-stdlib-jdk7\2.2.0\kotlin-stdlib-jdk7-2.2.0.jar;C:\Users\Administrator\.m2\repository\org\swinglabs\swingx\1.6.1\swingx-1.6.1.jar;C:\Users\Administrator\.m2\repository\com\jhlabs\filters\2.0.235\filters-2.0.235.jar;C:\Users\Administrator\.m2\repository\org\swinglabs\swing-worker\1.1\swing-worker-1.1.jar;C:\Users\Administrator\.m2\repository\org\jetbrains\kotlin\kotlin-stdlib\2.2.0\kotlin-stdlib-2.2.0.jar;C:\Users\Administrator\.m2\repository\org\jetbrains\annotations\13.0\annotations-13.0.jar demo1.Main Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "java.awt.Window.revalidate()" because the return value of "javax.swing.SwingUtilities.getWindowAncestor(java.awt.Component)" is null at demo1.TemperatureMonitorGUI.updateInputFieldsVisibility(TemperatureMonitorGUI.java:207) at demo1.TemperatureMonitorGUI.lambda$new$1(TemperatureMonitorGUI.java:58) at java.desktop/javax.swing.JComboBox.fireActionEvent(JComboBox.java:1294) at java.desktop/javax.swing.JComboBox.setSelectedItem(JComboBox.java:619) at java.desktop/javax.swing.JComboBox.setSelectedIndex(JComboBox.java:654) at java.desktop/javax.swing.plaf.basic.BasicComboPopup$Handler.mouseReleased(BasicComboPopup.java:946) at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:298) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6626) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389) at java.desktop/javax.swing.plaf.basic.BasicComboPopup$1.processMouseEvent(BasicComboPopup.java:551) at java.desktop/java.awt.Component.processEvent(Component.java:6391) at java.desktop/java.awt.Container.processEvent(Container.java:2266) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "java.awt.Window.revalidate()" because the return value of "javax.swing.SwingUtilities.getWindowAncestor(java.awt.Component)" is null at demo1.TemperatureMonitorGUI.updateInputFieldsVisibility(TemperatureMonitorGUI.java:207) at demo1.TemperatureMonitorGUI.lambda$new$1(TemperatureMonitorGUI.java:58) at java.desktop/javax.swing.JComboBox.fireActionEvent(JComboBox.java:1294) at java.desktop/javax.swing.JComboBox.setSelectedItem(JComboBox.java:619) at java.desktop/javax.swing.JComboBox.setSelectedIndex(JComboBox.java:654) at java.desktop/javax.swing.plaf.basic.BasicComboPopup$Handler.mouseReleased(BasicComboPopup.java:946) at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:298) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6626) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389) at java.desktop/javax.swing.plaf.basic.BasicComboPopup$1.processMouseEvent(BasicComboPopup.java:551) at java.desktop/java.awt.Component.processEvent(Component.java:6391) at java.desktop/java.awt.Container.processEvent(Container.java:2266) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) 选择HEX和float之后就报错,而且界面很不协调
07-16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值