基本命令:

基本命令:

我定义了一些快捷方式来访问我的每个工作区:

<Super>+1 for the First
<Super>+2 for the Second
etc...

当我分配这些快捷方式时,它们可以正常工作,直到我重新启动。我不知道为什么会这样。

由于某种原因,在我工作时使用的桌面(相同发行版,10.10)上,它运行良好。

为了使它们再次发挥作用,我需要取消它们全部的分配,然后重新分配它们。

我有一个可以自动执行这些操作的脚本:

gconftool-2 --unset /apps/metacity/global_keybindings/switch_to_workspace_1
gconftool-2 --unset /apps/metacity/global_keybindings/switch_to_workspace_2
gconftool-2 --unset /apps/metacity/global_keybindings/switch_to_workspace_3
gconftool-2 --unset /apps/metacity/global_keybindings/switch_to_workspace_4
gconftool-2 --unset /apps/metacity/global_keybindings/switch_to_workspace_5
gconftool-2 --unset /apps/metacity/global_keybindings/switch_to_workspace_6
gconftool-2 --unset /apps/metacity/global_keybindings/switch_to_workspace_7
gconftool-2 --unset /apps/metacity/global_keybindings/switch_to_workspace_8

gconftool-2 -t str --set /apps/metacity/global_keybindings/switch_to_workspace_1 "<Mod4>ampersand"
gconftool-2 -t str --set /apps/metacity/global_keybindings/switch_to_workspace_2 "<Mod4>eacute"
gconftool-2 -t str --set /apps/metacity/global_keybindings/switch_to_workspace_3 "<Mod4>quotedbl"
gconftool-2 -t str --set /apps/metacity/global_keybindings/switch_to_workspace_4 "<Mod4>apostrophe"
gconftool-2 -t str --set /apps/metacity/global_keybindings/switch_to_workspace_5 "<Mod4>parenleft"
gconftool-2 -t str --set /apps/metacity/global_keybindings/switch_to_workspace_6 "<Mod4>minus"
gconftool-2 -t str --set /apps/metacity/global_keybindings/switch_to_workspace_7 "<Mod4>egrave"
gconftool-2 -t str --set /apps/metacity/global_keybindings/switch_to_workspace_8 "<Mod4>undersocre"

但是,当我将此脚本配置为在启动时运行时,奇怪的是它不起作用。

有人知道如何解决这个问题吗?

答案1

它似乎无法在 Natty + compiz 上运行(如果您使用 metacity - 则可以运行metacity --replace)。您可以通过以下方式解决问题:

您可以使用控制端并为特定命令创建快捷方式。

基本命令:

如果您使用 metacity:
wmctrl -d显示所有工作区。
wmctrl -s <workspace_name>更改为特定工作区。

如果你使用 Compiz:
您必须使用一些技巧,因为 Compiz“工作区”实际上是单个工作区的视口。

技巧说明

检查输出wmctrl -d例如我的是:

0 * DG: 4098x2304 VP: 1366,0 WA: 0,23 1366x745 不适用

这意味着我实际上有一个 4098 x 2304 的工作区,而不是我“认为”的(九个“工作区”,3 x 3)。
我当时处于所谓的“工作区”2,但实际上我处于视口 (VP) 1366,0 (4098 / 3 = 1366),如上面的输出所示。

它的工作原理如下:我们取整个工作区,然后除以我们“认为”拥有的“工作区”数量。在我的例子中:4098 / 3 = 1366 和 2304 / 3 = 768。

如果我想进入我的“工作区” 1,命令是:
wmctrl -o 0,0

然后,如果我想进入我的“工作区”4,命令是:
wmctrl -o 0,768

如果我想进入我的“工作区”8,命令是:
wmctrl -o 1366,1536

如果我想进入我的“工作区”9,命令是:
wmctrl -o 2732,1536

知道了? ;-)

制作快捷方式

1)我们会需要Compiz 设置管理器

您可以从Ubuntu 软件中心或点击这里

2)打开 Compiz(Alt+F2ccsm输入Enter

3)转到命令并添加例如wmctrl -o 0,0一个命令

4)然后转到键绑定并<Super>+1为其创建快捷方式。

5)对其他工作区重复步骤“3”和“4”。

答案2

我遇到了与几个 compiz 设置完全相同的问题。这是我每次启动时运行的 fixcompiz.sh,在“启动应用程序”中有一个条目(我运行的是 12.10),它会重置一些设置,这些设置会在计算机重新启动时恢复为默认设置。

顺便说一句,我们确实应该就此提交一个错误。

#!/bin/sh

#fix min and maximize    
gsettings set org.gnome.desktop.wm.keybindings maximize "['<Super>Up']"
gsettings set org.gnome.desktop.wm.keybindings unmaximize "['<Super>Down']"

#fix switch to workspace shortcuts
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-1 "['<Primary><Shift><Alt>KP_Home']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-2 "['<Primary><Shift><Alt>KP_Up']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-3 "['<Primary><Shift><Alt>KP_Page_Up']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-4 "['<Primary><Shift><Alt>KP_Left']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-5 "['<Primary><Shift><Alt>KP_Begin']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-6 "['<Primary><Shift><Alt>KP_Right']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-7 "['<Primary><Shift><Alt>KP_End']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-8 "['<Primary><Shift><Alt>KP_Down']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-9 "['<Primary><Shift><Alt>KP_Page_Down']"

相关内容