'vte'에 해당되는 글 4건

  1. 2008.02.01 터미널이 끈기는 문제 2번째 해결본건가?
  2. 2007.06.13 vte라이브러리 버그가 고쳐진건가? 2
  3. 2007.04.21 내 터미널이 끈기던 이유를 드이어 알았다!!! 4
  4. 2007.01.14 vte를 이용한 간단한 터미널 2

터미널이 끈기는 문제 2번째 해결본건가?

저번에 끈긴다고 해결방법 올렸던거 같은데 그것도 잘 안되길래 방치 했다가

끈길때 glxgears를 실행하면 또 터미널이 안끈기고 잘된다냐느 사실을 재발견 했습니다..

이걸 몇달동안 까먹고 있다가 어제 다시 알아냈네요..

그래서, 저작년에 배웠던 opengl (윈도우 만들고 그안에 네모 그리는 소스, 지금은 정말 하나도 할줄 모름)

도 glxgears 와 같이 끈김 없애주는 효과가 있네요...

그래서 이리저리 실험한 결과 최대한 간소화 시켜서

#include <GL/glut.h>
#include <stdlib.h>

void MyTimer(int exit_ret)
{
    exit(exit_ret);
}

int main(int arrc,char *argv[])
{
    glutInit(&argc,argv);
    glutCreateWindow("");
    glutTimerFunc(2000,MyTimer,1);
    return 0;
}

/* 또는.. */

#include <GL/glut.h>

int main(void)
{
    glutInit(&argc,argv);
    glutCreateWindow("");
    glutSetWindowTitle("");
   
    return 0;
}

gcc -o outfile filename.c -lglut

이렇게 하면 될겁니다.. output 파일을 ~/.xinitrc 의 마지막에서 두번쩨에

(맨 아래는 윈도우 메니져가 위치 해야하므로) 추가해서

엑스 시작시 실행하게 시키면 끈김 효과는 바이바이~

아직 100% 는 확신할수 없지만 한 50번정도 엑스를재시작 해도 별 끈김 효과가 없네요.. 아직까진..

그리고 전체적으로 화면 갱신속도도 도 빨라진거 같습니다..

1년동안 사람 괴롭히던게 일단 해결을 본것 같이 보이는데.. 좀더 지겨봐야 할듯..

결론은

Conky 이게다 너 때문이야!!!
한글폰트 쓸려면 xft 켤수 밖에 없는데 어쩔??

vte라이브러리 버그가 고쳐진건가?

vte로 만든 터미널이 있는데 그것도 인제 별로 안끈기네...

거어이~ 안끈기는거 같다..

1024x1024짜리인가 제일 큰 터미널에서 w3m을 가지고서 스크롤을 해도

vi에서 이동을 해도 이제 거의 끈기지가 않네.. 애네들 버그 고쳤나??

어태까지 이버그가 심하고 화면에 출력되는것도 이상하게되서, 최신버젼인 0.16인가

안쓰고 0.14로 버텼었는데.. 이제 pacman.conf에다가 vte를 무시 안하게 해도 되겠네..

하지만 아직도 스크롤시 미친듯이  CPU점유율이 올라간다는건 변화가 없다...

(계속 스크롤을 했을때 conky에서 cpu 점유율이 한 80~90정도 까지 올라가는거 같다)

뭐 그래도 안끈긴다는게 어디야..

아 그리고 이제 뇌입어 블로그도 안끈기는거 같다..환상경님 블로그도 이제는 안끈기는데..

아마도 antialias를 해제해서 그런거 같다.. (아니 블로그가 끈긴 원인이 이거였다니!)

좀 의외네....... 다른덴 모르겠다 아직도 끈기는지는..

이번에 여러게 안끈기게 됬네..

그나저나 qt용 firefox는 언제 나오더라? 나온다고 한거 같았는데...........

'Linux > 스샷/외부설정' 카테고리의 다른 글

w3m이 업뎃 됬구나!  (4) 2007.07.04
conky 설정  (2) 2007.06.26
자랑 스샷  (4) 2007.04.09
리눅이에서도 인제 클박 잘 돌아가네...  (2) 2007.04.05
ncmpc 설정파일  (2) 2007.03.31

내 터미널이 끈기던 이유를 드이어 알았다!!!

드디어 알았다아!!!!!!!!!!!!!!!

문제의 시작은..

terminal에서 scroll시에 왜 이 렇 게 끈 기 는  거 냐!

처음으로 내가 만든 터미널에 무슨 이상이 있는줄알고 열심히 뒤졌고 안됄만한곳은 다 고쳤지만

그래도 계속 끈기길래 VTE(가상터미널에뮬레이터) 의  라이브러리에 문제가 있는줄 알았다

vte_terminal_set_background_saturation 함수(이야! 내가 이렇게 긴걸 다 외었다니!) 와

vte_terminal_set_background_transparency 함수 에 문제점이 있는줄 알았다

(왜냐하면 이함수를  TRUE,FALSE  or double 값을 집어 넣느냐에 따라서 끈겼기 떼문!)

그래서 "아 이놈의 함수고 뭐갔으니까 내가 함 만들어 볼까!" 하고 여기 저기를 또 뒤져되었다는..

이소스 뒤저보고 고쳐보고 vteapp소스도 고쳐보고 conky소스토 보고(투명한거니까)

했지만.. 뭐 안되더라는.. 그래서..

설마 ..Fluxbox가 문제가 있어서 그러는거 아냐!!!?

라는 생각에 당장 pacman -S gnome 을 하고  fluxbox 대신에 gnome을 써보니까  이야! 안끊기잖아!!!

그러는 순간   "아  -_- 뭐야 플빵.. 버리고 그놈 써야징..." 을 했다는.. 그리고 한 몇분동안 그놈 설정을 하고..

또 다른 시도를 시작한...

어쩌다 ~/.xinitrc파일의 순서를 조작하다보니까 인제 부팅후 처음에는 잘안되고 다시 reX를 하면 잘되는

구나 했었다는.. 그러다가 막 conky순서 바꾸기도 하고 했다..;

 근데 문제는 처음엔 무조건 느린 현상을 해결해아나는 과제가 생겼다

그런후에 좀 생각을 해보니

"자 분명 투명도니까 뒤에 투명 바탕이 없으면 안끈길거야~" 라고 생각한 나는 Esetroot를 ~/.xinitrc 스크립트

에서 빼고 다시 restart X 를 해보았다 그리고 터미널 스크롤~ 어라 안끈기네...

그래~ 범인은 Esetroot!다!! 라고 다시 생각을 바로 잡은. 그래서  터미널이 끈기는 원인을 알아냈다

원인은...












터미널이 시작되기전에  Esetroot가 실행되어서 그런거 같다.. 로 결론을 받았다..

그래서 screen을 ~/.bashrc에 적절히 켜지게 해놨고..

background.sh (랜덤으로 바탕화면 바꾸는 스크립트, 매번 X를 재시작할때마다 실행 (~/.xinitrc에 속함))

에서 Esetroot를 sleep 3해서 3초후에 실행하게 해놨다..

그러니까 인제 터미널이 안끈기고 잘되네...

그런데 또 문제가 발생.. 이번엔 xev가 Display var를 못얻겠다니 이런 헛소리를 해대는데

(아마 순전히 x라이브러리를 이용한 프로그램만 이런 오류가 나는거 같았다)

그래서 ~/.bashrc파일에 echo $DISPLAY 한결과를 집어넣었다(라고 기억된다)

그러니까 인제 "안끈키는 터미널 완성~~~"

이라고 생각했지만 이번에는 X를 재시작할때마다 일정확률(?)로 컴퓨터가 다운을 먹어버리는 현상이 생겨

버리네... 이건 또 어떻게 해야할지...;

추가> 뭔가 Esetroot의 버그 같은건 아닌거 같고.. 뭐랄까 터미널에 뭔가가 부담이 안가는거 같습니다
이런식으로 하니..

'Linux > 내부설정' 카테고리의 다른 글

컴퓨터 끄기 쉽게 하기..  (2) 2007.09.28
키보드 사용 설정 팁  (2) 2007.04.21
w3m 키 설정 바꾸기  (0) 2007.04.20
screen(스크린) Tip!  (2) 2007.04.18
비트맵 폰트 나오게 하기..  (2) 2007.04.03

vte를 이용한 간단한 터미널

사용자 삽입 이미지
오! 이런 위젯이 있는지 몰랐네요..

간단한 위젯인데.. 이거 하나만 쓰면 그냥 터미널이 바로 뜨니..

조금만 해보면 자신만의 터미널을 만드는것도 쉬울거 같네요..

gnome-terminal,tilda가 이 vte 라이브러리를 사용하네요

아마 가상 터미널 애뮬리이팅? 의 약자인듯하네여..

30줄도 안대는 코드로 터미널 하나가 완성됩니다

해더->vte/vte.h,gtk/gtk.h

1 #include
2 #include
3
4 int main(int argc,char *argv[])
5 {
6 GtkWidget *terminal;
7 GtkWidget *window;
8
9 gtk_init(&argc,&argv);
10
11 window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
12
13 terminal=vte_terminal_new(); //위젯 생성
14 //터미널 씰헁조건 같은거..
15 vte_terminal_fork_command(VTE_TERMINAL(terminal),
16 getenv("SHELL"),NULL,NULL,"/home/lowid",
17 TRUE,TRUE,TRUE);
18
19 gtk_container_add(GTK_CONTAINER(window),terminal);
20
21 g_signal_connect(GTK_OBJECT(window),"destroy",gtk_main_quit,NULL);
22 g_signal_connect(GTK_OBJECT(terminal),"child-exited",gtk_main_quit,NULL); //터미널에서 exit 쳤을때
23 gtk_widget_show_all(window);
24
25 gtk_main();
26 return 0;
27 }

다른건 gtk창만드는것과 같고 다른게 있다면 vte의 함수를 가따 썻다는거 뿐

함수는 다음을 참고 하세연..클뤽~!


참고하면 좋은 소스


링크타고 보시면 아시겠지만 터미널을 제어할수 있는 함수가 몇개 되더군요..
이거 이용하면 그놈터미널정도(?)의 수준으로 터미널 만드는건 아주 어려운일 같은 정도는 아닌거 같습니다
추가>vte_terminal_fork_command 함수의 두번째 인자 getenv("SHELL")을 해야 쉘이 뜹니당..(처음 프로그램 정해줌)
안해주면 커서만 가만히 놀고 있음.. 이거 몰라가꾸 하루죙일 뻘짓,..

'Programming > GTK+' 카테고리의 다른 글

xlib 에러 해결!  (2) 2007.02.28
gtk Thread  (2) 2007.02.27
libglade 컴파일법  (1) 2006.12.14
TODAY.... 삽질 DAY  (6) 2006.08.09
(초보) gtk 작성팁  (10) 2006.08.04
prev 1 next