ansys启动问题

其它类软件,非上述版软件
回复
yangdawei.hit
帖子: 245
注册时间: 2015-01-02 15:32
系统: Debian

ansys启动问题

#1

帖子 yangdawei.hit » 2015-11-01 7:46

此前已将问题通出邮件提交给vickycq,vickycq建议将探讨放在论坛里,希望得到更多人的参与与指导。下面是我们开始的讨论:

我有一个专业软件ANSYS,用于结构分析。安装过程我在论坛里作了记录。不过一直以来有个问题,就是要想在窗口界面模式运行(ansys150 -g)就必须通过sudo才能正常工作,否则:

- 开始界面后,在命令栏无法输入命令;
- 退出时提示错误信息:

代码: 全选

input contexts not freed before XCloseIM
forrtl: error (76): Abort trap signal
Image              PC                Routine            Line        Source            
libc.so.6          00007FC50CAAF107  Unknown               Unknown  Unknown
libc.so.6          00007FC50CAB04E8  Unknown               Unknown  Unknown
libtcl8.4.so       00007FC4C39AC0DE  Unknown               Unknown  Unknown
libtcl8.4.so       00007FC4C39AC16B  Unknown               Unknown  Unknown
libtk8.4.so        00007FC4C3794D56  Unknown               Unknown  Unknown
libtk8.4.so        00007FC4C379085F  Unknown               Unknown  Unknown
libtcl8.4.so       00007FC4C39875F7  Unknown               Unknown  Unknown
libAnsTclTk.so     00007FC4C3BFA34B  Unknown               Unknown  Unknown
libAnsTclTk.so     00007FC4C3BFB0E4  Unknown               Unknown  Unknown
libansys.so        00007FC5162FDA07  Unknown               Unknown  Unknown
libansys.so        00007FC519409BC0  Unknown               Unknown  Unknown
libansys.so        00007FC51984597F  Unknown               Unknown  Unknown
libansys.so        00007FC517D01854  Unknown               Unknown  Unknown
libansys.so        00007FC51655CA1F  Unknown               Unknown  Unknown
libansys.so        00007FC514D19F08  Unknown               Unknown  Unknown
libansys.so        00007FC514D1A30C  Unknown               Unknown  Unknown
libXt.so.6         00007FC50DDFE57D  Unknown               Unknown  Unknown
libXm.so.4         00007FC50E766AC1  Unknown               Unknown  Unknown
libXm.so.4         00007FC50E7671E5  Unknown               Unknown  Unknown
libXm.so.4         00007FC50E73815B  Unknown               Unknown  Unknown
libXm.so.4         00007FC50E7E7DB2  Unknown               Unknown  Unknown
libXt.so.6         00007FC50DE32855  Unknown               Unknown  Unknown
libXt.so.6         00007FC50DE337E2  Unknown               Unknown  Unknown
libXt.so.6         00007FC50DE0C1BB  Unknown               Unknown  Unknown
libXt.so.6         00007FC50DE0C87D  Unknown               Unknown  Unknown
libXt.so.6         00007FC50DE0C959  Unknown               Unknown  Unknown
libansys.so        00007FC519AB8B69  Unknown               Unknown  Unknown
libansys.so        00007FC519AB7A02  Unknown               Unknown  Unknown
libansys.so        00007FC51947FB7C  Unknown               Unknown  Unknown
libansys.so        00007FC518FFC367  Unknown               Unknown  Unknown
libansys.so        00007FC518FE69D7  Unknown               Unknown  Unknown
libansys.so        00007FC519B5A6A2  Unknown               Unknown  Unknown
ansys.e150         0000000000407556  Unknown               Unknown  Unknown
ansys.e150         0000000000406DB5  Unknown               Unknown  Unknown
ansys.e150         0000000000406C9C  Unknown               Unknown  Unknown
libc.so.6          00007FC50CA9BB45  Unknown               Unknown  Unknown
ansys.e150         0000000000406BA9  Unknown               Unknown  Unknown
Aborted

所报这些未知动态库在系统里都有。而且当运行命令行模式(ansys150)时,不加sudo权限是可以正常工作,且退出时没有错误信息的。现在的问题是:为什么在带有界面时会出现上述两个问题,又该从何处着手解决呢?

下面是vickycq的回复:

1. 错误信息提到 XCloseIM(),可能与输入法有关。下面链接中的帖子提到关闭输入法后启动ANSYS图形界面无报错。
http://www.hao007.net/bbs/viewthread.ph ... #pid179273

2. sudo 和 root / 普通用户相比,除了权限区别,运行环境(各类环境变量)也大不相同。
可以执行下面的命令,看区别:
2-1. 普通用户shell执行 printenv
2-2. 普通用户shell执行 sudo printenv
2-3. root shell 执行 printenv (通过 su 进入)
2-4. root login shell 执行 printenv (通过 su -l 进入)
在我这里,2-2 的环境比较简单,而 2-1 & 2-3 的环境比较复杂。
但限于对ANSYS这款软件的具体了解,不能确定是否与此有关。

也可用另一套权限管理工具 policykit(pkexec) 来启动软件,看是否正常?
如:pkexec ansys150 -g
发现 pkexec 默认提供的运行环境比 sudo 还要精简。

3. 回忆起以前在Linux下使用过科学计算软件IDL 7.1,同样出现过命令行模式(idl)正常,而图形界面(idlde)指令框无法输入任何文字的问题。因此怀疑原因是否相近。
此类跨平台大型科学计算软件的图形界面通常不使用流行的 GTK / Qt 图形库,而是使用 Tcl/Tk 和 java 等看上去较为‘原始’的库。怀疑两款软件都遇到了 Tcl/Tk 与输入法/中文环境的配合bug。
相关bug:
https://bugs.debian.org/170504
https://kldp.org/node/83467

关于ansys15的安装,见链接:viewtopic.php?f=35&t=472714
yangdawei.hit
帖子: 245
注册时间: 2015-01-02 15:32
系统: Debian

Re: ansys启动问题

#2

帖子 yangdawei.hit » 2015-11-01 8:15

代码: 全选

1. 错误信息提到 XCloseIM(),可能与输入法有关。下面链接中的帖子提到关闭输入法后启动ANSYS图形界面无报错。
http://www.hao007.net/bbs/viewthread.ph ... #pid179273
我用的输入法是fcitx,关闭后再运行ansys -g,也正常了。
也可用另一套权限管理工具 policykit(pkexec) 来启动软件,看是否正常?
如:pkexec ansys150 -g
运行发现启动不了画面。

代码: 全选

 *** ERROR - COULD NOT OPEN DISPLAY.
  On UNIX Systems, this is normally due to the DISPLAY environment variable
     not being set (i.e. issue setenv DISPLAY dev:0.0 where dev is your
     device name) or the X-server does not have permission to connect to the
     host machine. (i.e. issue xhost +  on the host machine).

 *** FATAL ***                           CP =       0.360   TIME= 08:10:40
 Unable to initialize the ANSYS GUI.                         
结论:看来确实是与输入法有冲突。但如何解决这个问题呢?还请大家献计。

面对现在这种情况,有三种可能的解决方式:

- 解决输入法与ansys窗口启动的冲突
- 找到一种不与ansys窗口启动冲突的输入法
- 启动ansys窗口时临时关闭fcitx
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: ansys启动问题

#3

帖子 vickycq » 2015-11-01 10:22

无责任猜测一下:可能与环境变量有关。因为想不出为何图形界面会需要 sudo 提权。
在普通用户 shell 下分别执行

代码: 全选

printenv
sudo printenv
看前者是否一大长串,后者是否精简许多?
那么尝试从前者剔除某些环境变量,或许有效。

既然前面已经确定与输入法有关,那么剔除与输入法有关的环境变量好了。

若输入法为 fcitx,会有以下相关环境变量:(用 printenv | grep XMOD 和 printenv | grep _IM_ 确认)
XMODIFIERS="@im=fcitx"
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
QT4_IM_MODULE=fcitx
CLUTTER_IM_MODULE=xim

在 $PATH 中新建一个脚本用于自定义环境,并启动 ansys150 -g

代码: 全选

#!/bin/bash
#
unset XMODIFIERS
unset GTK_IM_MODULE
unset QT_IM_MODULE
unset QT4_IM_MODULE
unset CLUTTER_IM_MODULE

ansys150 -g

export XMODIFIERS="@im=fcitx"
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx 
export QT4_IM_MODULE=fcitx
export CLUTTER_IM_MODULE=xim
再不济,可想办法创建一个与 sudo printenv 完全相同的环境运行 ansys -g。若还有问题,基本可以确定上面想错了。

至于 pkexec 出现 COULD NOT OPEN DISPLAY,我试了 pkexec printenv,发现确实没有 DISPLAY=:0.0 这个变量。

知识有限,高手勿喷
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
yangdawei.hit
帖子: 245
注册时间: 2015-01-02 15:32
系统: Debian

Re: ansys启动问题

#4

帖子 yangdawei.hit » 2015-11-01 10:37

printenv

代码: 全选

XDG_VTNR=7
SSH_AGENT_PID=22112
XDG_SESSION_ID=16
CLUTTER_IM_MODULE=xim
XDG_GREETER_DATA_DIR=/var/lib/lightdm/data/yangdawei
GPG_AGENT_INFO=/tmp/gpg-Y9t9UO/S.gpg-agent:22186:1
GLADE_PIXMAP_PATH=:
SHELL=/bin/bash
XDG_MENU_PREFIX=xfce-
TERM=xterm
WINDOWID=23068905
GTK_MODULES=gail:atk-bridge
LC_ALL=en_US.UTF8
USER=yangdawei
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session1
GLADE_MODULE_PATH=:
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
SSH_AUTH_SOCK=/tmp/ssh-iVtrCD9wKZAl/agent.22056
SESSION_MANAGER=local/debian:@/tmp/.ICE-unix/22163,unix/debian:/tmp/.ICE-unix/22163
XDG_CONFIG_DIRS=/etc/xdg
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
DESKTOP_SESSION=lightdm-xsession
QT_IM_MODULE=fcitx
XDG_SESSION_TYPE=x11
PWD=/home/yangdawei
XMODIFIERS=@im=fcitx
LANG=en_US.utf8
GDMSESSION=lightdm-xsession
SHLVL=1
XDG_SEAT=seat0
HOME=/home/yangdawei
XDG_SESSION_DESKTOP=lightdm-xsession
LOGNAME=yangdawei
QT4_IM_MODULE=fcitx
XDG_DATA_DIRS=/usr/share/xfce4:/usr/local/share/:/usr/share/:/usr/share
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-yN9wJDb41o,guid=0c6f9606e37303275b337310563561be
LC_CTYPE=zh_CN.UTF-8
TEXTDOMAIN=im-config
XDG_RUNTIME_DIR=/run/user/1000
DISPLAY=:0.0
GLADE_CATALOG_PATH=:
XDG_CURRENT_DESKTOP=XFCE
GTK_IM_MODULE=fcitx
TEXTDOMAINDIR=/usr/share/locale/
COLORTERM=xfce4-terminal
XAUTHORITY=/home/yangdawei/.Xauthority
_=/usr/bin/printenv

sudo printenv

代码: 全选

TERM=xterm
LC_ALL=en_US.UTF8
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
LANG=en_US.utf8
LC_CTYPE=zh_CN.UTF-8
DISPLAY=:0.0
COLORTERM=xfce4-terminal
XAUTHORITY=/home/yangdawei/.Xauthority
SHELL=/bin/bash
MAIL=/var/mail/root
LOGNAME=root
USER=root
USERNAME=root
HOME=/root
SUDO_COMMAND=/usr/bin/printenv
SUDO_USER=yangdawei
SUDO_UID=1000
SUDO_GID=1000
yangdawei.hit
帖子: 245
注册时间: 2015-01-02 15:32
系统: Debian

Re: ansys启动问题

#5

帖子 yangdawei.hit » 2015-11-01 10:43

在 $PATH 中新建一个脚本用于自定义环境,并启动 ansys150 -g
如法操作,果然解决问题。

代码: 全选

cat test.sh
#! /bin/bash
unset XMODIFIERS
unset GTK_IM_MODULE
unset QT_IM_MODULE
unset QT4_IM_MODULE
unset CLUTTER_IM_MODULE

ansys150 -g

export XMODIFIERS="@im=fcitx"
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export QT4_IM_MODULE=fcitx
export CLUTTER_IM_MODULE=xim
接下来做了点后续工作

代码: 全选

sudo mv test.sh /usr/bin/ansys
实验了一下,在启动ansys窗口界面时,仍然可以使用fcitx在其它窗口输入中文。

vickycq非常棒,怒赞! :em07
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: ansys启动问题

#6

帖子 poloshiao » 2015-11-01 11:05

可能与环境变量有关。
http://home.iitk.ac.in/~saiwal/engineer ... u-install/
Modify the Linux environment variable ANSYS quick start of each component Modify the hidden files.Bashrc your Ubuntu home directory. Add the following code in.Bashrc. Method for typing in the terminal code: VIM.Bashrc
看看是不是這部份還沒完成
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: ansys启动问题

#7

帖子 vickycq » 2015-11-01 11:54

yangdawei.hit 写了: 如法操作,果然解决问题。
哇,哇,哇,竟然真的有效。我自己都不敢相信,呵呵呵。 :Haha
不过这样的副作用是在 ANSYS 中无法使用输入法。而且这样并未解决冲突,只是让 ANSYS 程序“看不见”输入法而已。
解决输入法与ansys窗口启动的冲突
猜测 彻底解决是较为困难的。
这可能是一个十年陈的bug。2002年就有人提出了patch, (https://bugs.debian.org/170504) 但有没有提交到上游,不清楚。因为2007年仍有人提起这个bug。(https://kldp.org/node/83467)。
据说 Xorg 的代码已经复杂到难以维护的程度。因此才催生了新一代显示框架——Wayland。
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
yangdawei.hit
帖子: 245
注册时间: 2015-01-02 15:32
系统: Debian

Re: ansys启动问题

#8

帖子 yangdawei.hit » 2015-11-01 12:23

不过这样的副作用是在 ANSYS 中无法使用输入法。而且这样并未解决冲突,只是让 ANSYS 程序“看不见”输入法而已。
ANSYS中有一个command editor,但这货的所有命令都是英文的,在这里输入中文注释也没啥意义。
yangdawei.hit
帖子: 245
注册时间: 2015-01-02 15:32
系统: Debian

Re: ansys启动问题

#9

帖子 yangdawei.hit » 2015-11-01 12:30

你们二位大神真是上天入地,什么都能找得到呀。
回复