cht電腦資訊gcin
adm Find login register

gcin ubuntu 1604 unity

eliu
1 gcin ubuntu 1604 unity
Promote 0 Bookmark 02016-08-26quote  

之前有人說 Ubuntu 16.04  gcin 會開兩個,原因是 XMODIFIERS=@im=ibus

明明就已經用選擇 gcin 了。

今天也遇到了,發現這個問題只出現在 Unity,在我這邊是造成 gcin 完全無法使用。 用 XFCE and KDE ok. 會正確 XMODIFIERS=@im=gcin

不知道 unity 的 desktop 啟動的 script 那邊寫錯。

edited: 2
guest
2 成因
Promote 0 Bookmark 02016-08-26quote  

關於「XMODIFIERS=@im=ibus」的成因,我之前在「這篇」有回覆,
而詳細的分析我是紀錄在「這篇」討論。

這個現象不只會出現在「Ubuntu 16.04(Unity)」,也會出現在「Ubuntu GNOME 16.04(GNOME Shell)」,
因為這兩個發行版,都使用了「gnome-session-bin」這個套件,

可以從「原始碼」看到,修改「XMODIFIER」的那段程式,
「gnome-session-bin」會偵測「ibus-daemon」這個檔案是否存在,若存在,則會設定「XMODIFIERS=@im=ibus」。


所以若不要移除「ibus」這個套件,最簡單的解法,就是把「/usr/bin/ibus-daemon」移走。
而我個人的看法,則是建議可以在「gcin」執行前,先檢查是否已經執行「gcin」,不過我對這個沒有研究,所以也不知道程式怎麼實做。

雖然手動執行「gcin」會出現「IMOpenIM 'gcin' failed. Maybe another XIM server is running.」,
不過這個好像無法防止上面的現象,關於這個機制我就沒深究了。

報告完畢

:-)

eliu
3
Promote 0 Bookmark 02016-08-26quote  
guest
4
Promote 0 Bookmark 02016-08-26quote  

根本就是故意這麼綁的! GNOME session 竟然就這麼明目張膽的這麼,真是讓人意外!

guest
5
Promote 0 Bookmark 02016-08-26quote  

bash profile 在設定 XMODIFIERS 前,先 unset XMODIFIERS。這樣可以嗎?

eliu
6
Promote 0 Bookmark 02016-08-28quote  

guest
根本就是故意這麼綁的! GNOME session 竟然就這麼明目張膽的這麼,真是讓人意外!
gnome3 那一群自以為是的人,弄出來的 desktop,我現在都還不想用。

unity-control-center depends ibus. 要跳過 ibus 的 dependency 可以用

sudo dpkg --force-all -r ibus

unity 也是不好用,那個 window resize 的框有夠難拉, scroll bar 也不好拉。

edited: 4
swommidi
7
Promote 0 Bookmark 02016-08-29quote  

Gnome 3 放棄很久了。

用XFCE4非常愉快,也許沒有新桌面那麼漂亮,但是使用起來什麼問題都沒有。也沒有綁定ibus。

主要原因大概是XFCE4老早就開發完成,非常穩定。

Gnome 3還一直在開發變動中,在生產環境上用起來太干擾了。

winlin
8
Promote 0 Bookmark 02016-08-29quote  

http://www.cio.com/article/2881172/survey-says-kde-plasma-is-the-most-popular-desktop-linux-environment.html

↑ 沒想到gnome還不少人用...Orz

但KDE和XFCE才是大宗。

註:沒用過,但我也不喜歡gnome 3 ,我比較喜歡gnome 1.X和2.X

eliu
9
Promote 0 Bookmark 02016-08-29quote  
edited: 1
eliu
10
Promote 0 Bookmark 02016-08-29quote  

swommidi
用XFCE4非常愉快,也許沒有新桌面那麼漂亮,但是使用起來什麼問題都沒有。也沒有綁定ibus。
window title bar 上面的箭頭 ↓ 想拿掉。沒用過半次,有時候會不小心 click 到,造成困擾。

edited: 1
swommidi
11
Promote 0 Bookmark 02016-08-29quote  

eliu

window title bar 上面的箭頭 ↓ 想拿掉。沒用過半次,有時候會不小心 click 到,造成困擾。

 settings manager -> Window Manager -> Style 可以自訂window title bar的按鈕。用滑鼠抓按鈕放到hidden列就好了。如圖

edited: 2
eliu
12
Promote 0 Bookmark 02016-08-30quote  

eliu
sudo dpkg --force-all -r ibus
這個不行,會造成 update-manager 無法執行,就無法更新。

看起來解法 只有 mv or rm

mv ibus-daemon ibus-daemon. 

edited: 1
samwhelp
13 使用「xfconf-query」或「xfce4-settings-editor」來操作
Promote 0 Bookmark 02017-02-23quote  


swommidi


 settings manager -> Window Manager -> Style 可以自訂window title bar的按鈕。用滑鼠抓按鈕放到hidden列就好了。如圖




最近在回覆「這篇討論」,在探索的過程中,學會了「xfconf-query」和「xfce4-settings-editor (Settings Editor)」來做設定。

回覆這篇,契機是來自剛剛看到「這篇」,所以又連回來這篇討論,

碰巧又再次看到您提到案例,跟我最近探索學到的有關,剛好做個練習,順便簡單做個紀錄,給其他有興趣的人,有個起點線索可以探究。

主要要提到的,是除了可以使用「xfwm4-settings (Window Manager Preferences)」來操作您提到的操作步驟之外,

另外也可以透過「xfconf-query」,下指令的方式來操作設定。

還有也可以透過「xfce4-settings-editor (Settings Editor)」,圖形界面的方式來操作設定。

## 入口

* http://docs.xfce.org/start
* http://docs.xfce.org/xfce/start

## Window Manager (xfwm4)

* http://docs.xfce.org/xfce/xfwm4/start
* http://docs.xfce.org/xfce/xfwm4/preferences 「xfwm4-settings (Window Manager Preferences)」

## Configuration Storage System (xfconf)

* http://docs.xfce.org/xfce/xfconf/start
* http://docs.xfce.org/xfce/xfconf/xfconf-query 「xfconf-query」

## Settings Manager (xfce4-settings)

* http://docs.xfce.org/xfce/xfce4-settings/start
* http://docs.xfce.org/xfce/xfce4-settings/editor 「xfce4-settings-editor (Settings Editor)」


================================================================================

## 相關工具

* xfwm4-settings (Package: xfwm4)
* xfconf-query (Package: xfconf)
* xfce4-settings-editor  (Package: xfce4-settings)

## Daemon

* xfconfd (Package: xfconf)
* xfsettingsd  (Package: xfce4-settings)

================================================================================

事先要了解的兩個術語「channel」和「property」,
可以從閱讀「這一頁」來了解,
或是根據下面「xfconf-query 操作步驟」來操作的話,過程中大概就能了解相關的概念,
或是直接觀看「xfce4-settings-editor (Settings Editor)」的操作畫面,大概也能了解。
或是一開始我提到的那篇「回覆#3」,也有「xfconf-query」操作案例,在下方,一樣可以對照參考,
另外還有透過「dbus」的方式來操作,這篇就不舉例了,請參考該「回覆#3」。

================================================================================

## xfconf-query 操作步驟

我的環境是「Xubuntu 16.04 amd64 英文界面」

執行

```
$ xfconf-query -c xfwm4 -l -v
```

可以看到一段列表

```
/general/activate_action                 bring
/general/borderless_maximize             true
/general/box_move                        false
/general/box_resize                      false
/general/button_layout                   O|HMC
...略...
```

然後使用「grep」來過濾。

執行

```
$ xfconf-query -c xfwm4 -l -v | grep button_layout
```

顯示

```
/general/button_layout                   O|HMC

```

也可以直接執行下面指令,觀看「Channel: xfwm4」的「Property: /general/button_layout」的值。

````
$ xfconf-query -c xfwm4 -p /general/button_layout
```

顯示

```
O|HMC
```

然後執行下面指令,設定新值,設為「|HMC」

```
$ xfconf-query -c xfwm4 -p /general/button_layout -s '|HMC'
```

可以觀看「~/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml」這個檔。(註: 有時會有時間差,間隔久一點就可以看到變化)

```
$ grep 'button_layout' ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
```

顯示

```
    <property name="button_layout" type="string" value="|HMC"/>
```

執行下面指令,還原成預設值「O|HMC」

```
$ xfconf-query -c xfwm4 -p /general/button_layout -r
```

再次觀看「~/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml」這個檔。

顯示

```
    <property name="button_layout" type="empty"/>
```


註:

* 在操作「xfconf-query」的過程,也可以開啟「xfce4-settings-editor」,會看到相關的「Property」會有同步設定。
* 在操作「xfwm4-settings」,也可以開啟「xfce4-settings-editor」,會看到相關的「Property」會有同步設定。
* 直接修改「~/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml」這個檔,並不會有立即的反應。

================================================================================

## 相關的三個檔案

* ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
* /etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
* /usr/share/xfwm4/defaults

### 「~/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml」

執行

```
$ grep 'button_layout' ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
```

顯示

```
    <property name="button_layout" type="empty"/>
```

### 「/etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml」

執行

```
$ grep 'button_layout' /etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
```

顯示

```
    <property name="button_layout" type="string" value="O|HMC"/>
```


### 「/usr/share/xfwm4/defaults」

執行

```
$ grep 'button_layout' /usr/share/xfwm4/defaults
```

顯示

```
button_layout=O|SHMC
```

================================================================================

關於「/etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml」這個檔案,是屬於「xubuntu-default-settings」這個套件。

執行

```
$ dpkg -S /etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
```

顯示

```
xubuntu-default-settings: /etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
```

或是執行

```
$ dpkg -L xubuntu-default-settings | grep xfwm4
```

顯示

```
/etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
```

================================================================================

下載「Source Package: xfwm4

$ apt-get source xfwm4

使用「button layout」當關鍵字,查詢相關的檔案

$ grep 'button layout' xfwm4-4.12.3/* -R -n

使用「button_layout」當關鍵字,查詢相關的檔案

$ grep 'button_layout' xfwm4-4.12.3/* -R -n

可以找到幾個相關檔案 (以下摘錄,請執行上面的指令來觀看)

* xfwm4-4.12.3/defaults/defaults
* xfwm4-4.12.3/settings-dialogs/xfwm4-settings.c
* xfwm4-4.12.3/settings-dialogs/xfwm4-dialog_ui.h
* xfwm4-4.12.3/settings-dialogs/xfwm4-dialog.glade
* xfwm4-4.12.3/src/settings.c


================================================================================

以上提供參考,

報告完畢

:-)

edited: 7

cht電腦資訊gcin
adm Find login register
views:41552