emacs 및 터미널 텔넷 이용시 한글 사용

khunny7의 이미지


1. emacs를 그동안 문제없이 잘 써왔는데,
이번에 emacs로 한글을 읽고 써야 되는 작업이 필요하게 되었습니다.
인터넷에 검색해서 나온 것들을 찾아서 해보려고 했으나,
현재 모두다 실패한 상황입니다.
잘 아시는 분께서 가르침을 주시거나,
방법이 설명된 곳이라도 링크 시켜주시면 감사하겠습니다.

사용환경 : Ubuntu Feisty
GNU Emacs 21.4.1
SCIM 한글 입력 도구 사용

2. 더불에 제가 telnet을 사용해서 예전에 즐기던 단군의땅이라는 머드 게임을 즐겨보려 하였으나,
기본 터미널에서 접속시 한글이 깨져서 나옵니다.
지금 터미널에서 기본적으로 한글을 읽고 쓰는건 가능하나,
한글이 나오는 텔넷이나 ssh는 한글을 제대로 보여주지 못하고 깨집니다.
한텀을 써서 가능은 하나 기본 터미널에서 동작하도록 하고 싶습니다.

3. 질문이 많아서 죄송합니다. ^^;
간단하게 ebook을 읽고 싶어서 기본 gedit으로 윈도우에서 노트패드로 작성된 txt 파일을 열면,
한글이 제대로 보이지 않습니다. 간단한 해결 방법 없을까요?
감사합니다.

jg의 이미지

1. 아마... 읽기는 잘 되는데 쓰기가 잘 되지 않아서 그런 것인가요?
이맥스의 파일인코딩을 자동으로 잘 찾아주는 편이라서 별로 걱정안하셔도 됩니다.

~/.emacs 파일에서

;; euc-kr 환경이면 아래의 코멘트를 지우세요.
;(set-language-environment "korean")
;; 이맥스 자체 입력기 설정
;; 3벌식, 두벌식의 경우 3을 2로 변경
(setq default-input-method "korean-hangul3")
(setq default-korean-keyboard "3")

이 정도만 추가 해도 자체 입력기 ( C-\ 로 변환 )로 입력 가능합니다.
만일 scim을 쓰고 싶으신데 scim과 연결이 안된다면..
그것은 대개 사용중이신 환경의 로케일이 맞지 않아서일 수도 있고
아예 연결이 되지 않게 컴파일 되었을 가능성도 있습니다만
후자의 경우는 가능성이 좀 낮네요.

2. 기본터미널이 그놈터미널을 말씀하시는 거라면
메뉴에서 인코딩 설정을 접속하는 서버에 맞추셔야합니다.
euc-kr 이나 uhc, utf-8 등등으로요.
telnet의 경우에는 ztelnet 을 쓰시거나 8비트 읽고 쓰기가 가능한지
옵션 (-L) 을 넣어주시는 것도 방법입니다.

3. gedit는 가끔 인코딩 변환에 실패를 하는 경우가 있는데
그럴경우에는 이맥스나 vi를 통해서 보시는 게 낫습니다.

$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}

khunny7의 이미지


1번은 읽기 조차 안됩니다. ^^;;;
shell 실행해보면 한글 파일명 다 깨져서 나오고,
한글이 들어간 txt 문서 보면 그것도 깨져서 나옵니다.
SCIM 이용 실패이고요,
알려주신 방법 사용해서 자체 입력기를 해보면
Can't acitvate .... (생략)
이라고 나옵니다

gedit은 리눅스 상에서 한글 입력을 하거나,
리눅스 상에서 만들어진 한글 텍스트 파일은 문제 없이 읽어들이나,
윈도우에서 노트패드로 만들어진 한글이 들어간 텍스트 파일은 여지없이 다 깨져서 나옵니다.
한글 소설 같은걸 리눅스에서 읽으려고 했는데 힘이드네요.

답변 감사드립니다.
미해결 문제들좀 해결 하게 도움좀 더 구하겠습니다.

jg의 이미지

깨지는 한글 파일은 윈도우에서 쓰는 파티션을 마운트 하신 경우겠지요?
최근에 올라온 글 중에 아래 글을 보시는 게 좋을 것 같습니다.
http://kldp.org/node/84341

아무래도.. 파일내용이 로케일 설정이 잘못되서 깨지는 것 같은데요..
LANG=ko_KR.UTF-8 인 상태가 맞는 건가요?
이상하다고 밖에 말씀 못드리겠습니다..
제가 말씀드린 gedit에서 깨지는 경우도 좀 드물게 나타나는 편이거든요.

이맥스는 우선 cvs 버전을 설치하세요..

$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}

khunny7의 이미지

cvs 이맥스는 한글 지원되는 이맥스 인가요?
어디서 설치 가능한지, 그리고 그누 이맥스와는 어떻게 다른지 궁금합니다.

그리고 LANG=ko_KR.UTF-s 이건 어디에서 설정 하는건가요?
종종 봤는데, 저걸 써넣을 설정 파일이 사람들이 말하는 곳에 없더라구요
참고로 ubuntu Feisty Fawn 입니다.

답변 감사합니다.

jg의 이미지

이맥스의 한글지원은 원래 됩니다. =_=;;
다만 22.x 이상 버전을 쓰시면 유니코드 지원이 더 좋거든요.

LANG 설정이 된 것을 확인하시려면 터미널에서 아래와 같이 하시면

echo $LANG

출력된 결과를 보시면 됩니다.

$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}

ptmono의 이미지

2.--->
제가 보기에는 질문자께서 원격지의 컴퓨터에서 질문자분의 리눅스 머신으로
telnet으로 접속하였을 때에 한글이 깨어져 보인다는 질문으로 보입니다.

그놈터미널이나 xterm, hanterm은 X 윈도우 시스템을 기반으로 합니다.
즉 x 윈도우 시스템이 없으면 동작하지 않는다는 말입니다. x 윈도우 시스템은
그래픽 환경을 지원하는 시스템의 하나입니다. KDE, 그놈 또한 이를 기반합니다.

리눅스(유닉스 머신)을 켰을 때에 명령을 실행시키고 하는 작업을 'virtual console'
에서 하게 됩니다. 이 'virtual console'에서 startx 같은 명령어를 이용하여,
X 윈도우 시스템을 구동합니다. 보통 startx에서 KDE나 그놈 같은 그래픽 데스트탑
환경을 같이 실행하죠.

원격지에서 telnet을 이용하여 리눅스 머신에 접속하였다면, 이 'virtual console'을
사용 할 것입니다. 질문자께서 telnet을 이용하여 원격지의 리눅스 머신에 접속했을 때에
한글을 읽을 수가 없었던 이유는 'virtual console'이 ASCII(알파벳과 몇몇기호)문자만을
표현 할 수 있기 때문입니다.

한글이나 중국어, 일본어 (이하 CJK)를 console에서 표현하기 위해서 zhcon, jfbterm 등을
사용할 수가 있습니다. 이들은 kernel bufferframe console 을 이용하여 CJK를 표현하며,
virtual console 상에서 실행시킬 수가 있습니다.

ps) .emacs 파일을 보여주시기 바랍니다.

------------------------------------------
emacs user
제 말에 책임을 지지는 않습니다.
답변메일이 없는 이유로 답변에 대한 답변은 없을 수도 있습니다.

------------------------------------------
emacs user

khunny7의 이미지

(set-language-environment "korean")
(setq default-input-method "korean-hangul2")
(setq default-korean-keyboard "2")

;;; XEmacs backwards compatibility file
(setq user-init-file
(expand-file-name "init.el"
(expand-file-name ".xemacs" "~")))
(setq custom-file
(expand-file-name "custom.el"
(expand-file-name ".xemacs" "~")))

(load-file user-init-file)
(load-file custom-file)
(setq inhibit-startup-message t)

(global-font-lock-mode t)
(setq font-lock-maximum-decoration t)

;;; fix juck characters in sheel mode
(add-hook 'shell-mode-hook
'ansi-color-for-comint-mode-on)

제 .emacs 파일 입니다.
답변 감사드립니다.

jg의 이미지

위에도 썼지만 euc-kr 쓰시는게 아니라면 맨 윗줄은 빼주세요.
시작할 때 에러는 없으셨나요.. .xemacs 파일을 찾는 것 같은데 있는 것 확실한가요?

한글 설정 이후로는 우선 다 주석처리하시고 실행해보세요...

$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}

jg의 이미지

참고 삼아 말씀드리면

xemacs 는 emacs 와 다른 버전입니다.
설정파일을 잘못 가져다가 쓰신 거라고 생각하시면 되겠네요.

위에 제가 말씀드린 cvs 라는 것은 프로그램 개발할 때 쓰이는 툴입니다.
현재 개발중인 코드들은 “cvs 저장소”라고 불리는 곳에 저장을 하게 됩니다.
따라서 cvs 버전의 프로그램이라 하면 가장 최신의 버전이라고 생각하시면 됩니다.

우분투에서는 emacs-cvs-snapshot 이라는 패키지가 존재할 겁니다.
(이름은 약간 다를 수 있습니다. 기억이 확실히 나지 않아서;;)

어떤 글들을 참조하시고 리눅스를 사용중이신지는 모르겠지만
참고한 링크나 구체적으로 어떻게 설정하였는지 보여주시는게 좋습니다.

$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}

ptmono의 이미지

'M-x list-input-methods' 하시면 input-methods 를 보실 수 있습니다. 여기를 보면
'korean-hangul2' 라는 input-method 는 없군요. 그러므로 (setq
default-input-method "korean-hangul2") 는 잘못된 표현입니다. 일반적인 한글
2벌식(?)을 사용하신다면, (setq default-input-method "korean-hangul") 로
수정하여야 겠군요.

XEmacs 같은 경우 개발자들이 처음에는 GNU emacs를 개발하던 사람들이었는데, 뜻이
맞지 않아서(?) XEmacs로 떼어져 나왔다고 하더군요. XEmacs 인지 GNU emacs 인지
구분하시려면 단순히 'M-x version'을 하시면 메세지를 보여줍니다.

> ;;; XEmacs backwards compatibility file
> (setq user-init-file
> (expand-file-name "init.el"
> (expand-file-name ".xemacs" "~")))
> (setq custom-file
> (expand-file-name "custom.el"
> (expand-file-name ".xemacs" "~")))

위의 설정은 'user-init-file' 변수의 값을 "~/.xemacs/init.el"로 설정하고,
custom-file 변수의 값을 "~/.xemacs/custom.el" 로 설정합니다.

emacs에서 사용되는 변수를 바꾸고 싶다고 한다면, (setq inhibit-startup-message t)
같이 setq 함수를 사용할 수 있을 것입니다. 이 설정을 emacs가 다시 시작 될 때에도
사용하고 싶다면, .emacs 에 넣어주면 될 것입니다. 다른방법으로 emacs 자체에서도 변수를
설정할 수 있는 환경을 제공합니다. 'M-x customize-variable'를 사용하는 것이지요. 이 때에
설정된 값을 저장하는 파일을 지정하는 변수가 'custom-file' 입니다. 'custom-file'
값이 지정되지 않았을 때에(nil) user-init-file 을 사용합니다.

GNU emacs를 사용하고 계신다면, 굳이 이 설정을 사용하실 필요는 없다고
생각됩니다. "~/.xemacs/init.el" "~/.xemacs/custom.el" 이 존재하는지 확인해
보시기 바람니다. 덧붙여 파일이 존재하지 않는다면, (load-file user-init-file)
(load-file custom-file) 도 필요가 없습니다.

------------------------------------------
emacs user
제 말에 책임을 지지는 않습니다.
답변메일이 없는 이유로 답변에 대한 답변은 없을 수도 있습니다.

------------------------------------------
emacs user

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.