如何在Unity启动器中添加和删除工作区切换器启动器?

如何从Unity dock中移除“Workspace Switcher”启动器?
8个回答

要完全禁用工作区
请参考@fossfreedom的答案https://askubuntu.com/a/211169 只需删除图标但保留工作区
打开终端并执行:
gsettings get com.canonical.Unity.Launcher favorites
输出将类似于:
['application://nautilus.desktop', 'application://chromium-browser.desktop', 'application://ubuntu-software-center.desktop', 'application://ubuntuone-installer.desktop', 'application://ubuntu-amazon-default.desktop', 'application://UbuntuOneMusiconeubuntucom.desktop', 'application://gnome-control-center.desktop', 'unity://running-apps', 'unity://expo-icon', 'unity://devices']
要从dock中删除工作区图标,您只需从该列表中删除'unity://expo-icon'。对于此情况,命令应为:
gsettings set com.canonical.Unity.Launcher favorites "['application://nautilus.desktop', 'application://chromium-browser.desktop', 'application://ubuntu-software-center.desktop', 'application://ubuntuone-installer.desktop', 'application://ubuntu-amazon-default.desktop', 'application://UbuntuOneMusiconeubuntucom.desktop', 'application://gnome-control-center.desktop', 'unity://running-apps', 'unity://devices']"
(不要忘记在gsettings set中的列表上使用双引号)
目前我使用Unity Tweak Tool帮助我拥有八个工作区。我喜欢有多个工作区,但对于无法移除的Unity Launcher图标并不是很满意,尤其是当我使用了八个工作区时,它只能显示四个工作区的样子。

11这个方法完全符合我的需求。其他的答案会完全禁用桌面切换功能,而这个答案只是移除了图标,我仍然可以使用这个功能。 - Donarsson
适用于哪些版本? - Bruno Pereira
@BrunoPereira,就我个人而言,我只能在13.04版本上使用它。 - oblitum
1这是最合乎逻辑、直接明了的方法,而且它有效!(使用Ubuntu 14.04) - dayuloli
你在第三段代码的末尾多了一个“.”。 - Max
你确实尝试过这个,并且它保留了使用键盘切换工作区的功能,对吗? - It's Willem
@It'sWillem 是的,整天都在做那个。 - oblitum
你说要删除的东西不在那里。可能是因为我已经频繁地用箭头键切换工作区,或者它根本就不存在!#>)$?! - It's Willem
13.04. . . . . . - It's Willem
我是这里唯一一个不需要图标而是通过热角来操作的人吗? - Hitechcomputergeek

对于14.04

将不需要的图标拖到垃圾桶中。

对于13.04

默认情况下,工作区切换器在启动器中是未启用的。您可以通过系统设置中的外观 - 行为选项卡来切换此设置。

取消选中以下图片中显示的选项以移除工作区切换器图标。

enter image description here

12.10

如果您准备只使用一个虚拟桌面(即没有额外的工作区),那么以下操作适用于12.10及更高版本。
gsettings set org.compiz.core:/org/compiz/profiles/unity/plugins/core/ hsize 1
gsettings set org.compiz.core:/org/compiz/profiles/unity/plugins/core/ vsize 1

之前:

enter image description here

之后:

enter image description here


3这对我来说实际上在12.10版本中起作用了,而且似乎比最佳答案要简单得多。 - Eric Nemchik
8你对于13.04的解决方案并不完全是一个解决方案。禁用工作区将完全禁用它们,而不仅仅是从启动器中移除图标。有些人可能希望在启动器中没有图标的情况下保留工作区的功能。 - Seth
同意@Seth的观点-如果您取消选中“启用工作区”选项,似乎会重置您的工作区首选项(例如水平和垂直面板的数量)。我只想要移除图标,因为热角足够使用了。 - halfer
112.10的解决方案:没有这样的模式 'org.compiz.core'。 - Bryce
@Bryce 我也是一样的情况,你是怎么解决的呢? - Pablo Matias Gomez
1有没有办法在14.04版本中将其从垃圾桶中拖回来呢? - xji
1在14.04版本中,这些步骤并不能禁用我的桌面上的这个功能。快捷键Ctrl-Alt-Left/Right Arrow仍然可以在不同的工作区之间切换。即使在系统设置>外观中将其禁用了。 - Ed J

适用于Ubuntu 11.10和Ubuntu2D

使用您喜欢的文本编辑器(例如)编辑文件/usr/share/unity-2d/launcher/Launcher.qml

sudo nano /usr/share/unity-2d/launcher/Launcher.qml

对于Ubuntu 12.04和Ubuntu2D

使用您喜欢的文本编辑器(例如)编辑文件/usr/share/unity-2d/shell/launcher/Launcher.qml

sudo nano /usr/share/unity-2d/shell/launcher/Launcher.qml

找到这些行

    Component.onCompleted: {
        items.appendModel(bfbModel);
        items.appendModel(applications);
        items.appendModel(workspaces);
        items.appendModel(devices);
        shelfItems.appendModel(trashes);
    }

并将它们更改为

    Component.onCompleted: {
        items.appendModel(bfbModel);
        items.appendModel(applications);
/*        items.appendModel(workspaces);*/
        items.appendModel(devices);
        shelfItems.appendModel(trashes);
    }

Ubuntu

很遗憾,桌面切换器被硬编码为unity,无法在不进行源代码修改的情况下移除。

请确保已安装dpkg-dev软件包。

sudo apt-get install dpkg-dev

要修改代码并自行编译,您需要按照以下步骤进行操作:
mkdir ~/code
cd ~/code
mkdir build
cd build
apt-get source unity
cd unity*

打开你喜欢的文本编辑器,例如:

nano plugins/unityshell/src/LauncherController.cpp


找到以下行:
num_workspaces_ = WindowManager::Default()->WorkspaceCount();
if (num_workspaces_ > 1)
{
  InsertExpoAction();
}

改成它们
/*num_workspaces_ = WindowManager::Default()->WorkspaceCount();
if (num_workspaces_ > 1)
{
  InsertExpoAction();
}*/

构建软件包
sudo apt-get build-dep unity
debuild -us -uc

等待它完成并在完成后安装
cd ..
sudo dpkg -i unity*.deb libunity*.deb netbook*.deb

1不要使用Unity 2D 12.04的方法。之后你甚至无法启动Unity。我不得不进入另一个桌面环境并还原更改。 - Paul Woitaschek
抱歉,但就Unity而言,我应该警告大家最好查看其他答案。 - oblitum
1针对哪些版本?这个解决方案有什么问题? - Bruno Pereira
@BrunoPereira,看看我的回答作为例子,我怀疑gsettings的技巧在多个版本中都有效。不需要编译东西,而且,这也是你回答中的一个问题,因为你断言除了打补丁之外没有其他办法。 - oblitum
谢谢你的解决方案!这里还有其他人说它会破坏Unity2D。只要确保你做对了就行。我第一次尝试时也破坏了Unity2D,因为我不小心交换了最后一个*/。修复后,它正常工作了。(12.04) - jobukkit
太酷了,@Jop,你帮我省去了安装12.04来测试我两年前写的答案的时间 :) (谢谢) - Bruno Pereira

对于Ubuntu 11.04/11.10/12.04(在Unity 2D中不适用):

  1. Ubuntu软件中心安装Compiz Config Settings Manager Install compizconfig-settings-manager

  2. 从Dash打开Compiz Config Settings Manager

  3. 进入常规选项桌面大小选项卡

  4. 水平虚拟大小更改为'1',垂直虚拟大小可以是任意数字

  5. 通过打开运行命令(Alt-F2)并输入unity来重新启动Unity

compizconfig

来源


11.04

目前在Unity中有一个方便的小bug可以让你这样做。打开终端并运行'gnome-panel'。一旦gnome面板运行起来,将'workspace switcher'小程序添加到面板上。打开workspace switcher的首选项,选择1列和4行。退出并重新登录Unity,然后瞧!workspace switcher现在消失了。

是的,我知道,如果你使用工作区,这种方法可能有点烦人,但目前这是我所知道的唯一方法。

enter image description here

要恢复Unity启动器切换器,只需再次在终端中打开gnome-panel,并返回到2×2的网格布局。注销并重新登录即可。

12.04

这现在很容易,多亏了Isaac Joseph的可爱的Unity Revamped的新功能(还带回了闪避窗口和活动窗口,并提供了其他一些选项)。
使用您选择的软件管理器添加存储库或:
sudo add-apt-repository ppa:ikarosdev/unity-revamped

这是现在的一个替代统一源,它将以略微领先于规范版本的形式报告自己。升级后,您将拥有这个新版本:
apt-fast update && apt-fast dist-upgrade

或者如果你不使用 apt-fast,则:

sudo apt-get update && sudo apt-get dist-upgrade

或者只需使用软件更新器。
注销并重新登录,然后转到ccsm。Ubuntu Unity插件现在将在“实验”选项卡上有一个标签为“在启动器中显示“Expo图标””的选项,默认情况下是启用的。禁用此选项,图标将消失。
禁用图标不会禁用Super+S绑定,如果这是您首选的切换工作区的方式。

12.04

从软件中心安装MyUnity。
打开它,进入“桌面”选项,将“水平桌面”和“垂直桌面”的滑块都向左移动到最小。
重新启动。

对于14.04及更新的LTS版本使用Unity界面。
打开设置->外观,勾选如下所示的复选框。 workspaces 通过鼠标访问切换器的启动器图标如下所示:

enter image description here