본문 바로가기
my_lesson/_Linux

Linux - 터미널 환경 웹 브라우저 [w3m]

by boolean 2016. 2. 23.
728x90

Linux - 터미널 환경 웹 브라우저 [w3m]

1 w3m에 대해서

w3m은 lynx(:12)와 같은 텍스트 브라우저 이지만 lynx보다는 훨씬 세련되었다. lynx는 매우 가볍고 빠르며 필요한 텍스트 정보만을 보여주므로 컨텐츠에 집중할 수 있게 도와주기는 하지만 사이트가 약간만 복잡해지면 브라우징 하기가 매우 어려워 진다는 단점을 가지게 된다. 프레임이 사용되거나 조금 복잡한 테이블이 사용되면 어디가 어디인지 도통 감을 잡을 수 없다.

정보에 대한 가독성을 높이기 위해서는 필요한 텍스트만 얻어내는 것도 중요하지만 시각적으로 보기 쉽게 정보를 보여줄수 있어야 하며 사용자 친화적인 인터페이스를 제공할 수 있어야 한다.. lynx는 시각적인 면과 편리한 인터페이스를 충족시키지 못한다.

w3m은 이를테면 필요한 정보로의 집중 빠른 정보접근 시각적인면과 편리한 인터페이스를 모두 충족시킬 수 있는 매우 훌륭한 텍스트 기반 브라우저이다. 특히 정보수집을 목적으로 웹서핑을 하길 원한다면 w3m보다 훌륭한 브라우저가 없다고 감히 주장한다. 개인적으로도 컨텐츠 관리를 위한 웹서핑은 w3m을 사용한다. 특히 textarea 에서 vim을 불러와서 문서편집이 가능하다는게 정말 맘에 든다.

https://lh5.googleusercontent.com/-fNqaMyqRJTw/T_UA65voWbI/AAAAAAAACKk/NThWSEZpx38/s400/w3m01.png

1.1 설치하기

대부분의 Linux 배포판은 기본으로 포함하고 있다. 설치역시 배포판에서 제공하는 패키지 관리 프로그램을 이용하면 간단하게 설치할 수 있다. 이 문서는 Ubuntu 리눅스를 기준으로 작성되었다.

2 실행

xterm, konsole, hanterm 같은 터미널 애뮬레이터에서 w3m을 입력하면 된다.

3 w3m의 특징

  1. 테이블 렌더링 : 위의 화면을 보면 테이블을 시각적으로 매우 깔끔하게 정리해서 보여주고 있음을 알 수 있다. 자고로 보기좋은 떡이 먹기에도 좋은 법이다.
  2. 프레임 렌더링 : 놀랍게도 프레임역시 화면에 표시해준다. lynx를 통해서 프레임을 사용하는 웹페이지를 브라우징해본 적이 있다면 이게 얼마나 편리한 기능인지 동감할 것이다.
  3. 마우스 지원 : w3m은 화면제어를 위해 ncurses를 사용하고 있으며 마우스를 지원한다. 마우스를 통해서 스크롤과 링크를 통한 이동, 입력선택 등이 가능하다.
  4. textarea에서의 외부편집기 지원 : w3m을 사용하는 가장 큰 이유중 하나다. Firefox(:12)나 IE(:12)의 빈약한 편집기를 통해서 textarea를 입력해본적이 있다면 그게 얼마나 짜증나는 일인지 잘 알것이다. 때문에 많은 경우 별도의 에디터 프로그램을 띄워서 내용을 작성하고 긁어 붙이는 편법을 동원한다. w3m에서는 vim(:12)와 같은 외부 프로그램을 textarea입력시 사용가능하다. 특히 wiki(:12)에서와 같이 많은 내용을 편집할 때 빛나는 기능이다.
  5. SSL 지원 : SSL(:12)을 기본 지원한다.
  6. UTF-8 지원
  7. vi 키지원 : vim(:12)를 주로 사용하는 유저에게는 희소식이다. 화면의 이동/찾기등의 기능이용을 vi키로 할 수 있다. 다음은 이동/찾기에 사용되는 대표적인 키들이다.
    J아래K
    H오른쪽으로L왼쪽으로
    ^줄의 처음$줄의 마지막
    /앞으로 찾기?뒤로 찾기
  8. Emacs 키 지원 : Emacs를 주로 사용하는 유저에게도 희소식이다. 화면의 이동/찾기 등의 기능 이용을 Emacs 키로 할 수 있다. 다음은 이동/찾기에 사용되는 대표적인 키들이다.
    C-n아래C-p
    C-f오른쪽으로C-b왼쪽으로
    C-a줄의 처음C-e줄의 마지막
    C-s앞으로 찾기C-r뒤로 찾기
  9. Emacs 버퍼 내에서 w3m 브라우징을 할 수 있는 Emacs-w3m.el 역시 이용할 수 있다.
  10. Tab 의 지원 : 모질라를 이용해 봤다면 Tab기능이 상당히 편리하다는데 동의 할 것이다. 여러개의 창으로 인하여 데스크탑이 지저분해지지 않으면서 간단하게 사이트사이를 이동할 수 있기 때문이다. w3m역시 Tab을 지원한다. 역시 너무 편리한 기능이다. 

Tab같의 이동은 단축키와 마우스 모두를 통해서 가능하다.

4 joinc과 w3m은 찰떡궁함

joinc는 몇몇 매우 특별한 경우를 제외하고는 자바스크립트를 사용하지 않으며 순수하게 HTML(:12)만을 사용해서 작성되었다. 프레임을 사용하지도 않았으며, 브라우저 독립적인 HTML테그역시 사용하지 않았다. 그러므로 익스플로어, 넷스케이프, 모질라, lynx, w3m모든 브라우저로 브라우징이 가능하며 특히 w3m을 이용하면 매우 편하게 브라우징 가능하다.
  • textarea는 다음과 같이 표시된다. 

https://lh5.googleusercontent.com/-9fGbX8Xhubk/T_UB7w4kg2I/AAAAAAAACKs/0aTXmkoWcvk/s400/w3m02.png

  • textarea에서 엔터키(혹은 마우스 클릭)를 누르면 아래와 같이 vi화면이 뜬다.
  • vi 대신에 gvm이나 kate 같은 GUI 기반 텍스트 에디터를 사용할 수도 있다.

5 w3m 사용 메뉴얼

  • 도움말을 보고 싶다면 어디에서든지 '?'를 입력하면 된다.
  • SPC는 space바, C는 Ctrl을 나타낸다. 예를 들어 C-v는 Ctrl+v가 된다.
  • ESC는 escape키다. ESC-v는 escape키를 누른뒤 v를 누르라는 뜻이다. 

5.1 페이지/커서 이동 관련 단축키

SPC,+,C-v다음 페이지로 이동
ESC-v이전 페이지로 이동
l커서를 오른쪽으로 이동
h커서를 왼쪽으로 이동
j커서를 아래로 이동
k커서를 위로 이동
K한줄씩 위로 스크롤
J한줄씩 아래로 스크롤
<화면을 왼쪽으로
>화면을 오른쪽으로
,화면을 한 열씩 왼쪽으로
.화면을 한 열씩 오른쪽으로
^줄의 처음으로
$줄의 마지막으로
G지정한 줄번호로 이동
숫자+G숫자 라인으로 이동
w다음 단어로 이동
W이전 단어로 이동
[첫번째 링크로
]마지막 링크로
DOWN,C-n,TAB다음 링크로
UP,C-p,C-u이전 링크로
ESC-m전체 링크 목록

5.2 하이퍼링크 관련

C-f,C-j,C-m,RIGHT링크페이지로 이동
d, ESC-C-j,ESC-C-m링크를 파일로 저장
I이미지 보기
ESC-I이미지를 파일로 저장
c현재 URL 출력
u링크 URL출력
i이미지 URL출력
=현재 페이지 정보
C-g라인번호 출력
L모든 링크와 이미지의 목록 출력

5.3 파일 관련

U,gURL입력창
V지역파일 읽어들이기
@쉘명령 실행
#쉘명령 실행
|문서를 파이프로 보냄

5.4 버퍼 관련

  • 일종의 히스토리 관리기능이다.
LEFT,B,C-b이전 버퍼로 이동
s버퍼 선택 메뉴
\HTML 소스 출력
ESC-sHTML 소스를 파일로 저장
S,p렌더링된 페이지를 파일로 저장
E현재 문서 편집
ESC-e렌더링된 현재 문서 편집
R,C-r페이지를 다시 읽기
C-l,C-w페이지를 다시 그리기

5.5 Tab 관련

T새로운 탭 생성
C-q현재 탭 닫기
}다음 탭으로
{이전 탭으로
ESC-t탭선택 메뉴

5.6 북마크 관련

ESC-b,v북마크 보기
a,ESC-a현재 페이지를 북마크에 등록

5.7 찾기 관련

/,C-s앞으로 찾기
n다음 찾기

5.8 마킹 관련

C-@mark생성/삭제
ESC-n,N다음 마크로 이동
ESC-p,P이전 마크로 이동

5.9 기타등등

?,H도움말
o옵션 설정화면
rw3m의 버젼정보
C-kcookie 리스트
C-hURL 히스토리
m마우스 활성화/비활성화
ESC-cw3m 명령어 실행
Esc-o옵션설정
C-z페이지 로딩 중지
qw3m 끝내기
Qw3m 끝내기(묻지않고)

댓글