我正在运行带有“Gnome Classic”的 Linux Mint,我猜它是 Gnome 2。我目前使用 3 个工作区,并且有 nautilus 处理我的桌面。
问题是我的桌面上的文件超载。我更喜欢不必将它们存储在目录中,因为这会在访问文件之前再打开一个窗口,我已经打开了太多窗口。
我可以更改每个工作区的“桌面”目录吗?或者也许将桌面扩展到 3 个工作区,以便我可以移动我需要的工作区上的每个图标?
我必须更改桌面管理器吗?或者让 nautilus 之外的另一个文件浏览器来完成这项工作(我该怎么做?)?
谢谢。 (顺便说一句,我是 Linux 的新手,如果有更好的方法,请说出来)
编辑:这就是env | grep XDG
给我的(与桌面无关):
jad@jad-PC ~ $ env | grep XDG
XDG_SESSION_COOKIE=95dcb1ee36841dd22e3633040000000d-1337336042.360588-45732386
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome-classic:/etc/xdg
XDG_DATA_DIRS=/usr/share/gnome-classic:/usr/share/gnome:/usr/local/share/:/usr/share/
XDG_CURRENT_DESKTOP=GNOME
我也尝试过env | grep Desktop
,但什么也没给我。
答案1
我认为没有比这更简单的解决方案了涉及鹦鹉螺号比这个:
据我所知,Nautilus 显示 XDG 告诉它您的桌面的内容(请参阅env | grep XDG
;但我们假设它是~/Desktop
)并且现在似乎有方法可以更改此设置而无需重新启动 Nautilus。
你可以(可能,未经测试的)改变~/Desktop
你的工作空间时改变什么。我的想法大致如下:Desktop
用符号链接替换文件夹:
- 创建用于更改工作区的快捷方式,即Ctrl+1执行
~/bin/switch-to-workspace-one.sh
, - 这将是您编写的 shell 脚本,即:
- 改变了符号链接
Desktop
说,~/Workspaces/One
并且 - 调用
wmctrl
使metacity(窗口管理器)更改为工作区1
- 改变了符号链接
(...类似于 2 和 3).. 我完全不确定这是否会因违反其他程序的假设而产生不良后果,因为这是一个相当不标准的黑客行为。 (还有更多事情需要处理,例如在注销(或启动时)时将符号链接切换回工作区一...)
但由于 GNOME2 已经度过了最好的时光,因此最好寻找替代方案,不幸的是,我不知道其他桌面管理器是否可以做到这一点。 (我对 XFCE 抱有希望,但是这似乎是不可能的。)
(XMonad 有“主题空间”但这只会影响生成程序的默认目录等,根本没有图标。)
答案2
#!/bin/bash
# Workspace desktop image/directory switcher
# Script to change the desktop image and icons when switching workspaces
# Tested on Linux Mint 19 Tara 'cinnamon'
# Amended script of person or persons unknown based on the script by garolou from:
# https://forums.linuxmint.com/viewtopic.php?t=118540#p672189
# Sometimes icons did not appear on desktop so I added the line after do"
# to correct this
# Before using you must add more desktops to /home/username/
# Desktop0 Desktop1 etc
# Do not delete Desktop folder
# Icons may be copied to other desktops from Desktop
# May be added to startup applications by using path
# /bin/bash -c "sleep 10&&/home/a/Desktops"
# Edit paths according to your username.
# I call this Desktops but of course you don't need to use this name
desktop_dir="/home/a/.cinnamon/backgrounds/" # full path to images directory;
desktop_img=(1.jpg 2.jpg 3.jpg 4.jpg 5.jpg) # add more images if using more workspaces less images required if using less workspaces
setdesktop() {
gsettings set org.gnome.desktop.background picture-uri "file://$desktop_dir$1"
}
xprop -root -spy _NET_CURRENT_DESKTOP |
当读-r时; do
gsettings set org.nemo.desktop show-desktop-icons false
desk="${REPLY: -1}" #获取工作区编号
setdesktop "${desktop_img[$desk]}" #设置桌面图像
gsettings set org.nemo.桌面 show-desktop-icons false
sed -i '/\(^XDG_DESKTOP_DIR="$HOME/Desktop)[^"]*"/s//\1'"$desk"'"/' ~/.config/user -dirs.dirs #change XDG_DESKTOP_DIR
gsettings set org.nemo.desktop show-desktop-icons true #显示
完成的图标