我可以在 Gnome 的不同工作区上拥有不同的桌面目录吗?

我可以在 Gnome 的不同工作区上拥有不同的桌面目录吗?

我正在运行带有“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 脚本,即:
    1. 改变了符号链接 Desktop说,~/Workspaces/One并且
    2. 调用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 #显示
完成的图标

相关内容