cht電腦資訊gcin
adm Find login register

Ubuntu 更新後,gcin 會讓 gnome-terminal 無法開啟

Julian Lai
1 Ubuntu 更新後,gcin 會讓 gnome-terminal 無法開啟
Promote 0 Bookmark 02016-05-31quote  

Ubuntu 更新後,gcin 會讓 gnome-terminal 無法開啟

OS: Ubuntu 16.04

edited: 2
eliu
2
Promote 0 Bookmark 02016-06-01quote  
Julian Lai
3
Promote 0 Bookmark 02016-06-01quote  

話說您有考慮做個 snap package 的嗎?聽 Ubuntu 開發者說這個以免除很多
相依性問題,而且未來也可以給其他發行版用耶。

edited: 1
yinyin
4
Promote 0 Bookmark 02016-06-02quote  

請問有暫時繞過問題的方法嗎?

好奇是什麼原因造成,因為更新前整個還是好的 XD

謝謝!

yinyin
5
Promote 0 Bookmark 02016-06-02quote  

yinyin

請問有暫時繞過問題的方法嗎?

找到一個方法可以先繞過: 先開另一隻 xterm 執行 /usr/lib/gnome-terminal/gnome-terminal-server

然後就可以正常開 gnome-terminal

eliu
6
Promote 0 Bookmark 02016-06-02quote  
guest
7
Promote 0 Bookmark 02016-06-02quote  

昨天升級 Ubuntu 16.04 也遇到相同的問題.. 5F 的方法我試了還是無法執行 gnome-terminal. 目前暫時改用 xfce4-terminal, 似乎也不錯用.

guest
8
Promote 0 Bookmark 02016-06-18quote  

請問目前有解決的好辦法嗎?

畢竟 Ubuntu 下的 fcitx 的選字用起來就是怪怪的

eliu
9
Promote 0 Bookmark 02016-06-18quote  
guest
10
Promote 0 Bookmark 02016-07-26quote  

報告一下錯誤訊息

Ubuntu    16.04.1 64 bit
gnome-terminal    3.18.3-1ubuntu1
gcin   2.8.4+dfsg1-1ubuntu1
gcin-gtk3-immodule   2.8.4+dfsg1-1ubuntu1

執行gnome-terminal出現錯誤
Error creating terminal: : Message recipient disconnected from message bus without replying

原因是因為gnome-terminal-server崩潰
gnome-terminal-server crashed with SIGSEGV in get_gcin_xim_name() 

經過試驗發現是gcin-gtk3-immodule造成問題,移除gtk3-immodule就可用gnome-terminal,但移除後變成幾乎所有的gtk程式都無法用gcin了

如果是全新灌的16.04就無此問題。怪耶??

PS: 用xterm先開gnome-terminal-server就可以用gnome-terminal,暫時解法

eliu
11
Promote 0 Bookmark 02016-07-26quote  
guest
12
Promote 0 Bookmark 02016-07-26quote  

請問是怎樣的問題呢?
我一直都有在 .profile 裡 export XMODIFIERS=@im=gcin 呀

eliu
13
Promote 0 Bookmark 02016-07-26quote  
guest
14
Promote 0 Bookmark 02016-07-27quote  

我移除 ~/.profile 中的 XMODIFIERS 設定,改用 system settings
Language Support -> Keyboard Input Method 選 gcin
但跟之前一樣,可以使用 gcin 但 gnome-terminal 崩潰... 

system settings 也是將 XMODIFIERS 設成 @im=gcin

Su, Jun-Ming
15
Promote 0 Bookmark 02016-08-28quote  

Hi

針對這個問題有一些發現。

在系統啟動時啟動的 gcin 看它的 proc envrion 會有 XMODIFIER=@im 的值,這個跟預期的 XMODIFIERS=@im=gcin 不符合 (無論在哪邊加 XMODIFIERS=@im=gcin 系統啟動的時候起的 gcin 都會只有 XMODIFIER=@im,直到有新的 process 起來的時候才會是 XMODIFIERS=@im=gcin (就像是前面先進提到的起一個 xterm 的動作)。

在 gcin-conf.cpp 裡的 get_gcin_xim_name 中要取得 "XMODIFIERS=@im=" 後面的字串回傳,當碰到 XMODIFIERS=@im 時除了取不到值以外,後續的移動 pointer 動作會造成 gnome-terminal-services crash,是不是建議一下,為防止這樣的問題發生,在確認沒取到值的時候就不要再做後續動作了,以避免會依賴的程式 crash。

in gcin-conf.cpp

#if UNIX
char *get_gcin_xim_name()
{
  char *xim_name;

  if ((xim_name=getenv("XMODIFIERS"))) {
    static char find[] = "@im=";
    static char sstr[32];
    char *p = strstr(xim_name, find);
      // 以下部份如果 p 為  null 將會有問題
      p += strlen(find);
      strncpy(sstr, p, sizeof(sstr));
      sstr[sizeof(sstr) - 1]=0;

ychao
16
Promote 0 Bookmark 02016-08-28quote  

很奇怪 16.04 的 XMODIFIERS 在 @im 後面的參數會被吃掉,然後 gcin 就會 crash。這個需要劉老大先修一下。

eliu
17
Promote 0 Bookmark 02016-08-28quote  
edited: 1
yawnp0426
18
Promote 0 Bookmark 02016-09-01quote  

Ubuntu 16.04

(1)解決 Gnome Terminal 無法啟動問題:
sudo add-apt-repository ppa:gnome3-team/gnome3-staging
sudo apt-get update

deb http://ppa.launchpad.net/gnome3-team/gnome3-staging/ubuntu xenial main
deb-src http://ppa.launchpad.net/gnome3-team/gnome3-staging/ubuntu xenial main
Signing key:
1024R/3B1510FD
升級 gnome terminal ... 可以使用終端機了.
(2)解決 Gedit 無法顯示問題:
gcin 升級 2.8.4 版(2.8.4+dfsg1-1ubuntu1)而且必須調整 Gedit 字型及顏色為/*Kate*/模式,才能顯示正常!註:/*古典*/和/*Tango*/模式,打字版面雖然不再黑屏,但卻消失……

註:https://launchpad.net/~gnome3-team/+archive/ubuntu/gnome3-staging

edited: 1
ychao
19
Promote 0 Bookmark 02016-09-02quote  

yawnp0426

Ubuntu 16.04

(1)解決 Gnome Terminal 無法啟動問題:
deb http://ppa.launchpad.net/gnome3-team/gnome3-staging/ubuntu xenial main
deb-src http://ppa.launchpad.net/gnome3-team/gnome3-staging/ubuntu xenial main

知道是有哪些 patch 嗎?

yawnp0426
20
Promote 0 Bookmark 02016-09-26quote  

yawnp0426


Ubuntu 16.04

(1)解決 Gnome Terminal 無法啟動問題:
sudo add-apt-repository ppa:gnome3-team/gnome3-staging
sudo apt-get update

deb http://ppa.launchpad.net/gnome3-team/gnome3-staging/ubuntu xenial main
deb-src http://ppa.launchpad.net/gnome3-team/gnome3-staging/ubuntu xenial main
Signing key:
1024R/3B1510FD
升級 gnome terminal ... 可以使用終端機了.
(2)解決 Gedit 無法顯示問題:
gcin 升級 2.8.4 版(2.8.4+dfsg1-1ubuntu1)而且必須調整 Gedit 字型及顏色為/*Kate*/模式,才能顯示正常!註:/*古典*/和/*Tango*/模式,打字版面雖然不再黑屏,但卻消失……

註:https://launchpad.net/~gnome3-team/+archive/ubuntu/gnome3-staging



安裝gcin和升級 GNOME3〔後〕,Synaptic 會顯示黑屏而且 gedit 會顯示透狀,另外 gcin-tools 會發生故障無法啟動變更設定功能!目前發生原因不明!如附圖:

edited: 2
eliu
21
Promote 0 Bookmark 02016-09-26quote  
yawnp0426
22
Promote 0 Bookmark 02016-09-26quote  

eliu


開 terminal,測試

touch /home/yawnp0426/.gcin/config/left-right-button-tips

是否能正常執行



(1)上述指令沒有任何動作!無解……

(2)我還發現用 Crtl+space 直接啟動「注音輸入法」會有異狀無法使用,它讓右上方gcin的小圖示消失!

samwhelp
23 有個疑問,想發問
Promote 0 Bookmark 02016-10-21quote  

Su, Jun-Ming

Hi

針對這個問題有一些發現。

在系統啟動時啟動的 gcin 看它的 proc envrion 會有 XMODIFIER=@im 的值,這個跟預期的 XMODIFIERS=@im=gcin 不符合 (無論在哪邊加 XMODIFIERS=@im=gcin 系統啟動的時候起的 gcin 都會只有 XMODIFIER=@im,直到有新的 process 起來的時候才會是 XMODIFIERS=@im=gcin (就像是前面先進提到的起一個 xterm 的動作)。

在 gcin-conf.cpp 裡的 get_gcin_xim_name 中要取得 "XMODIFIERS=@im=" 後面的字串回傳,當碰到 XMODIFIERS=@im 時除了取不到值以外,後續的移動 pointer 動作會造成 gnome-terminal-services crash,是不是建議一下,為防止這樣的問題發生,在確認沒取到值的時候就不要再做後續動作了,以避免會依賴的程式 crash。

in gcin-conf.cpp

#if UNIX
char *get_gcin_xim_name()
{
  char *xim_name;

  if ((xim_name=getenv("XMODIFIERS"))) {
    static char find[] = "@im=";
    static char sstr[32];
    char *p = strstr(xim_name, find);
      // 以下部份如果 p 為  null 將會有問題
      p += strlen(find);
      strncpy(sstr, p, sizeof(sstr));
      sstr[sizeof(sstr) - 1]=0;

 

之前我看到這段程式碼?我有衍生一些疑問,那時候沒有問,後來就忘了這件事了。

剛剛參與「一篇討論」,我又想起了這些疑問,所以馬上來發問,不然又給忘了 :p

就是我在想「get_gcin_xim_name」的回傳值,是否能寫死,直接回傳「gcin」這個字串,

不曉得從 「XMODIFIERS」這個環境變數來抓取,原本設計的考量是啥?

直接寫死,不知道會不會影響到其他的機制?

直接寫死,除了解決上面這個問題,不知道可不可以也杜絕「上次提到的狀況」?

以上舉手發問,感恩先

Laughing

 

 

eliu
24 有個疑問,想發問
Promote 0 Bookmark 02016-10-21quote  

samwhelp
不曉得從 「XMODIFIERS」這個環境變數來抓取,原本設計的考量是啥?
就方便 developer 測試,這樣就可以2個 gcin 同時執行,app 透過 XMODIFIERS 連到不同的 gcin,不會影響到正常版的gcin。

XMODIFIERS crash 的問題已經解決。

edited: 1
samwhelp
25 有個疑問,想發問
Promote 0 Bookmark 02016-10-21quote  

eliu

就方便 developer 測試,這樣就可以2個 gcin 同時執行,app 透過 XMODIFIERS 連到不同的 gcin,不會影響到正常版的gcin。

XMODIFIERS crash 的問題已經解決。

 收到,感恩回覆。

Smile

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