Ubuntu 更新後,gcin 會讓 gnome-terminal 無法開啟
OS: Ubuntu 16.04
edited: 2
|
|
話說您有考慮做個 snap package 的嗎?聽 Ubuntu 開發者說這個以免除很多 相依性問題,而且未來也可以給其他發行版用耶。
edited: 1
|
請問有暫時繞過問題的方法嗎?
好奇是什麼原因造成,因為更新前整個還是好的 XD
謝謝!
|
找到一個方法可以先繞過: 先開另一隻 xterm 執行 /usr/lib/gnome-terminal/gnome-terminal-server
然後就可以正常開 gnome-terminal
|
我是習慣用 rxvt-unicode,字比較清楚。
|
昨天升級 Ubuntu 16.04 也遇到相同的問題.. 5F 的方法我試了還是無法執行 gnome-terminal. 目前暫時改用 xfce4-terminal, 似乎也不錯用.
|
請問目前有解決的好辦法嗎?
畢竟 Ubuntu 下的 fcitx 的選字用起來就是怪怪的
|
沒有一定要用 gnome-terminal,rxvt-unicode 比較好用。
|
報告一下錯誤訊息
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,暫時解法
|
|
請問是怎樣的問題呢? 我一直都有在 .profile 裡 export XMODIFIERS=@im=gcin 呀
|
|
我移除 ~/.profile 中的 XMODIFIERS 設定,改用 system settings Language Support -> Keyboard Input Method 選 gcin 但跟之前一樣,可以使用 gcin 但 gnome-terminal 崩潰...
system settings 也是將 XMODIFIERS 設成 @im=gcin
|
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;
|
很奇怪 16.04 的 XMODIFIERS 在 @im 後面的參數會被吃掉,然後 gcin 就會 crash。這個需要劉老大先修一下。
|
edited: 1
|
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
|
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 |
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 會發生故障無法啟動變更設定功能!目前發生原因不明!如附圖:
|
開 terminal,測試
touch /home/yawnp0426/.gcin/config/left-right-button-tips
是否能正常執行
|
eliu |
開 terminal,測試
touch /home/yawnp0426/.gcin/config/left-right-button-tips
是否能正常執行
|
(1)上述指令沒有任何動作!無解…… (2)我還發現用 Crtl+space 直接啟動「注音輸入法」會有異狀無法使用,它讓右上方gcin的小圖示消失!
|
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」這個環境變數來抓取,原本設計的考量是啥?
直接寫死,不知道會不會影響到其他的機制?
直接寫死,除了解決上面這個問題,不知道可不可以也杜絕「上次提到的狀況」?
以上舉手發問,感恩先
|
samwhelp | 不曉得從 「XMODIFIERS」這個環境變數來抓取,原本設計的考量是啥? |
就方便 developer 測試,這樣就可以2個 gcin 同時執行,app 透過 XMODIFIERS 連到不同的 gcin,不會影響到正常版的gcin。
XMODIFIERS crash 的問題已經解決。
edited: 1
|
eliu |
就方便 developer 測試,這樣就可以2個 gcin 同時執行,app 透過 XMODIFIERS 連到不同的 gcin,不會影響到正常版的gcin。
XMODIFIERS crash 的問題已經解決。
|
收到,感恩回覆。
|