Xmanager 게시판

root 계정이 아니면 실해이 안되는 프로그램

최종입력: 2008-03-25 14:20 - 넷사랑 | 답글: 5건

 
2008-03-20 18:34 - 이종욱

root 계정이 아니면 실해이 안되는 프로그램

 
수고 많으십니다.
Ultra-60 SunOS 5.6 에서 C++ 을 이용해 프로그램밍을 했습니다.

#include
#include
#include

위처럼 /usr/dt/include 에서 제공되는 함수들을 이용해
그래픽을 띄우는 프로그램 인데 자료 검색을 목적으로 하는
그래픽 입니다.

문제는 root 계정에서는 잘 실행되는데 common 계정으로는
초기화면만 뜨고 다른 작업을 할라치면 프로세스가 죽습니다.

퍼미션 문제는 아니고요 첨부한 에러 메세지를 보면 폰트 문제인듯 싶은데 한 컴퓨터로 하기 때문에 컴퓨터에 깔린 폰트가 다를리는 없을꺼 같네요.
root 와 common 간의 환경을 조정해야 하지 싶은데
c shell 에서 root 와 common 의 .cshrc 파일은 동일함을 확인 하였습니다.

/usr/dt/ 내의 자료들은 제가 X window 경험이 없어서 손을 못대고 있네요.

너무 몰라서 인터넷 검색으로 흘러흘러 오다 보니 이곳까지 오게 되었습니다. 도움 부탁 드려요.


제품명 : Xmanager 3.0
연결 방법 : 기타
2008-03-21 12:44 - 넷사랑

Re: root 계정이 아니면 실해이 안되는 프로그램

 
안녕하세요. 넷사랑컴퓨터 기술지원입니다.

root 계정으로는 정상적으로 실행되는 프로그램이 다른 계정으로 실행할 때 에러가 난다면, 문제의 원인으로 의심해볼 수 있는 것이 사용자 계정의 환경 설정이나 퍼미션 문제 등이 있습니다.

사용자 계정의 홈 디렉토리 밑에 .dt 디렉토리와 .dtprofile의 이름을 변경해놓은 후 다시 한번 실행해보시기 바랍니다. 위의 파일들도 사용자 환경 설정과 연관이 있습니다.

콘솔에서 프로그램이 일반 계정으로도 잘 구동된다면 더 많은 도움을 드릴 수 있을 것 같으나, 그렇지 못한 경우라서 정확한 답변을 드리기가 어렵다는 점을 이해해주시기 바랍니다.

감사합니다.

2008-03-21 16:00 - 이종욱

Re: root 계정이 아니면 실해이 안되는 프로그램

 
답변 감사드립니다.
.dt/ 와 .dtprofile 의 이름을 바꿔도 현상은 비슷한거 같네요.

그래서 다른 테스트를 해 봤는데요.

/usr/dt/bin/dtprintinfo

이 명령어가 확실히 어떤건지는 모르겠으나.. ( 어떤 정보를 보여주는거겠죠?? )

요걸 common 계정에서 써 봤더니 그 메시지가..

Warning: Missing charsets in String to Fontset Conversion
Warning: Missing charsets in String to Fontset Conversion

이렇게 뜨고 그 상태로 멈춰 있는데 위의 메세지와
제가 구동시키려는 프로그램의 로그랑 유사한 이유인듯 해서 추가로 질문해 봅니다.

dtprintinfo 명령어를 실행할때 저 메세지가 뜨는 이유는 무엇일까요?? 참고로 똑같이 root 계정에서 실행시에는 저런 경고 메세지가 뜨지 않더라구요.
2008-03-24 18:08 - 살기 좋은 덕소의 人

Re: Re: root 계정이 아니면 실해이 안되는 프로그램

 
만드시는 프로그램이 X app인 것 같은데요.
X app는 텍스트 베이스의 tui 프로그램과 달리 X 리소스라는 게
필요합니다. tui 프로그램은 터미널 에뮬에서 구동되다 보니 터미널에 관련된 설정이 필요한데요.

X app는 터미널과 관련이 없기 때문에 .cshrc 파일의 동일 유무와는 별 상관이 없습니다.

다만 X app의 리소스도 언어마다 다르게 설정할 수 있으니 터미널에서 언어 설정이 어떻게 되어 있나 정도는 봐야겠네요.

시스템 기본 리소스는 root나 일반 사용자나 같이 적용될 거고,
사용자 리소스가 아마도 root와 일반 사용자가 다르게 적용이 되고 있는 것 같네요.
사용자 홈 디렉토리에서 .Xdefaults 파일이나 .Xresources 파일이 있나 확인해 보세요. 있다면 잘되는 계정의 그것을 안되는 계정으로 복사해서 사용해 보세요(물론 퍼미션 바꿔 주시고요).

2008-03-25 13:47 - 이종욱

Re: Re: Re: root 계정이 아니면 실해이 안되는 프로그램

 
여기저기 찾아 보니

$HOME/.dt/sessions/current/ 내에

dt.resources
dt.session
dt0upWIF
.dt!desktop
dt.settions
dtcqF.X

파일이 있네요. 우선 root 계정과 common 계정의
dt.settings 의 내용은 별거 없는거 같고..

dt.resources 와 dt.session 이 내용도 다를 뿐더러 그 내용도
의심스러운데 이걸 복사해서 테스트 해보는게 나을까요??

아니면 그냥 .dt/ 디렉토리를 통째로 복사해도 아무 문제 없을까요??

추가 질문으로..
말씀하신 .Xresources 파일은 찾아 봤는데요.

/usr/openwin/lib/X11/xdm/Xresources
/usr/openwin/xdm/Xresources
/usr/dt/config/en_US.UTF-8/Xresources
/usr/dt/config/C/Xresources
/usr/dt/config/ko/Xresources

이렇게 존재 하네요. 개인 의견으로는 이 파일이 계정마다의
설정값에 영향을 미칠 수 있을지 의문입니다.
파일 첨부 하려고 했지만 너무 귀찮게 하는것 같아서..

죄송스럽지만 다시 한번 질문 드립니다.
감사합니다.
2008-03-25 14:20 - 넷사랑

Re: Re: Re: Re: root 계정이 아니면 실해이 안되는 프로그램

 
말씀하신

/usr/openwin/lib/X11/xdm/Xresources
/usr/openwin/xdm/Xresources
/usr/dt/config/en_US.UTF-8/Xresources
/usr/dt/config/C/Xresources
/usr/dt/config/ko/Xresources

등의 파일들은 시스템 리소스들입니다. 시스템 리소스는 이 외에도 더 있습니다. 시스템 리소스들은 보통은 계정마다 다르게 적용되지 않습니다.

사용자의 홈디렉토리에 살기좋은...님이 말씀하신.Xdefaults 파일이나 .Xresources 등의 파일이 없다면 문제의 계정에는 사용자 리소스 파일은 없는 것 같습니다.

다만 시스템 리소스라 하더라도 언어에 따라 다르게 적용이 되니 CDE 환경으로 로그인하실 때의 언어 설정과 문제의 응용프로그램이 구동되기 직전 터미널의 언어 설정을 root의 그것과 비교해 보실 필요가 있습니다.

더 자세한 내용은 해당 장비 및 OS의 매뉴얼과 CDE 매뉴얼, X 리소스에 관한 문서를 참고하셔야 할 것 같습니다.

감사합니다.