Strict Standards: Non-static method Soojung::addReferer() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/settings.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/lifthrasiir/sites/sapzil.info/soojung/settings.php:79) in /home/lifthrasiir/sites/sapzil.info/soojung/classes/Counter.class.php on line 63

Strict Standards: Non-static method Entry::getEntry() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/entry.php on line 51

Strict Standards: Non-static method Soojung::entryIdToFilename() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/classes/Entry.class.php on line 182

Strict Standards: Non-static method Soojung::queryFilenameMatch() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/classes/Soojung.class.php on line 55
TokigunStudio3 | 블로그: 토끼군 사불열전

내용으로 바로 넘어 가기


TokigunStudio3

1 / 3283   


더 이상 이 블로그는 운영되지 않습니다. 새 블로그로 가 주세요.

토끼군 사불열전

2005/02/15 PM 05:20 | 개발 | 6 comments | 0 trackbacks | AllBlog: vote, to pocket

혹시나 그놈 한국 홈페이지를 둘러 보시면 보셨을 수도 있겠는데, 그놈 사불열전이라는 페이지가 있다. (사불 = 사용자 불량. 프로그램 문제가 아니라 사용자가 잘못 해서 일어 나는 문제들) 오늘 여기에 딱 올릴 만한 문제가 생겼으나 아쉽게도 그놈 한국 채널(hanirc의 #gnome)에서 나온 게 아니라서 여기에 대신 올린다.

그러니까... 문제의 발단은 vim을 사용해서 c 코드 같은 걸 문법 강조해서 웹 페이지로 띄우려는 것이었다. (vim 스크립트 중에 2html.vim이라고 문법 강조 된 소스를 html로 출력해 주는 게 있다. 모니위키도 이 방법을 쓰고 있다.) 처음의 소스는 이랬다:
<?php
$filename = "blahblah.c";
$command = "vim -T xterm -e -s $filename +\"syntax on\" +\"set syn=c\" +\"so \\\$VIMRUNTIME/syntax/2html.vim\" +\"wq! /sys/stdout\" +q";
$fp = popen($command, "r");
for($out = ''; $s = fgets($fp, 1024); $out .= $s);
pclose($fp);
echo $out;
?>
...그러나, 출력되는 것은 빈 문자열 뿐... $command를 출력해서 그걸 터미널에 띄워도 안 되는 것이었다. /sys/stdout을 tempnam 같은 함수로 다른 파일을 가리키게 했더니 터미널에서는 되는데 저기서는 마찬가지로 안 된다. 한참 고생하다 첫 번째 실수를 깨달았는데, /sys/stdout이 아니라 /dev/stdout이었던 것이다. -_-;;;

이렇게 하고 보니 일단 popen으로 출력 결과를 가져 오는 건 문제가 없어 보였지만 저기서는 마찬가지로 출력이 안 되고 있었다. 하룻밤을 고민하다가 #perky에 질문을 올렸는데, 모 님께서 이런 말씀을 하시는 것이었다:

PATH에 걸려있나..(nobody의 계정) 확인해보세요

모니위키도 그냥 vim으로 때리길래 문제가 없을 줄 알았으나 이 서버에서는 모니위키의 vim 플러그인이 작동하지 않는다는 걸 알고 있었기 때문에 혹시나 싶어서 전체 경로(여기는 /usr/local/bin/vim)를 넣어 봤다....




된다. -_-;


이런 XX할 사불이 다 있나... 이거 때문에 하룻밤 샜다. orz 아아아아악; 아무리 내가 삽질 대마왕이라 해도 삽질은 싫어 OTLOTLOTL;;;

TrackBack URL: http://sapzil.info/soojung/trackback.php?blogid=491

Comment: 인클루드 (779/12/01 AM 11:08)

저런걸 "사불" 이라 하는군요. 재밌네요 =3=3

Comment: 토끼군 (2005/02/15 PM 08:02)

인클루드: 사불열전 읽어 보세요. 재밌어요 :p

Comment: Powring (2005/02/15 PM 08:51)

vim이라는건 언제 나왔나요? = 3=;

Comment: 토끼군 (2005/02/15 PM 08:59)

Powring: 유닉스, 리눅스, BSD 등에서 잘 쓰이는 강력한 텍스트 편집기입니다. http://vim.org/를 참고하세요.

Comment: dinosur (2005/02/16 PM 12:14)

흐흐 양파옹이나 프리미르하고 맨날 이야기 하는 유저불량이군요
^^;;

Comment: 토끼군 (2005/02/16 PM 02:43)

dinosur: 흐흐흐... 의외로 많이 겪는 일이죠. orz

Copyright (c) 1995-2005, Kang Seonghoon (Tokigun).