2012-04-04 5 views
2

lynx (설정 파일 ~/.lynxrc)에 사용자 정의 키맵을 추가 할 수 있습니까? (예 : 현재 URL, html, 제목 등) 셸 명령?lynx에서 키를 매핑하여 쉘 명령을 실행

예제 사용 사례 : OSX를 사용 중이고 쉘에 명령으로 open이 있습니다.이 명령은 기본 형식으로 주어진 것을 열려고 시도합니다. 그래서, 내가 lynx에 있고 현재 웹 페이지를 기본 브라우저로 옮기고 싶다면 open current-url을 쉘에서 호출하고 싶을 것입니다.

또 하나 : 쉘 스크립트 (또는 다른 것)에 URL과 제목을 보내 정렬 된 북마크 파일을 조합합니다.

기본 키맵 !을 사용하면 기본 쉘이 열리지 만 URL을 제공하지 않으며 단일 명령을 실행하지 않고 Lynx로 돌아가서이 작업을 수행합니다.

모든 아이디어는 크게 감사하겠습니다.

답변

1

실제로이 문제를 처리 할 수있는 몇 가지 방법을 찾았습니다. 어떤 것은 다른 것보다 이상적입니다. 이 중 일부를 파악하기 위해 기본 lynx.cfg 파일을 파고 들었습니다.

  1. 한 장소 lynx.cfg 파일에이의 변화 :

    다음

    내가 살쾡이에서 쉘 명령에 정보를 보내는 달성 두 가장 성공적인 방법입니다. URL 만 보낼 수 있기 때문에 Lynx 덤프 자체를 구문 분석하지 않고도 웹 페이지의 제목이나 다른 정보를 처리 할 수 ​​없기 때문에 URL을 보낼 수 없습니다. (--enable-extern으로 설정해야합니다. MacPorts 버전의 lynx에서는 사용할 수 없으므로 소스에서 설치해야합니다).

    # in lynx.cfg 
    # EXTERNAL:<url>:<command> %s:<norestriction>:<allow_for_activate>[:environment] 
    # Ex 1: send the url to `open <url>` to open default browser 
    EXTERNAL:http:open %s:TRUE 
    # Ex 2: download with wget if ftp page 
    EXTERNAL:ftp:wget %s &:TRUE 
    
    # By default ',' and '.' map to running EXTERNAL on the page and link respectively 
    # KEYMAP:,:EXTERN_PAGE # Run external program with current page 
    # KEYMAP:.:EXTERN_LINK # Run external program with current link 
    
  2. 스크립트를 만들어 인쇄 환경 변수를 수집하려면 프린터로 실행하십시오.

    # in lynx.cfg 
    # PRINTER:<name>:<command>:<option>:<lines/page>[:<environment>] 
    PRINTER:openurl:/Users/username/bin/openurl %s:TRUE 
    

    그런 다음 기본 브라우저 (OSX)에서 URL을 여는 스크립트의 OpenURL이 포함

    #!/bin/sh 
    # /Users/username/bin/openurl 
    url=$LYNX_PRINT_URL 
    title=$LYNX_PRINT_TITLE 
    # other variables exist like the date etc... look them up :) 
    # http://osr600doc.sco.com/en/INT_lynxDoc/keystrokes/environments.html 
    
    # perform magic ... 
    /usr/bin/open $url 
    

의 lynxified 프록시 lynxexec, lynxprog을 사용하는 등의 다른 방법이있을 수 있으며, lynxcgi,하지만 성공적으로 내 자신의 테스트에서 이러한 방법으로 변수를 전달할 수 없습니다. 이러한 방법으로 제목과 URL 정보를 얻는 방법을 알고 있다면 듣고 싶습니다. 위 예제 # 1은 lynx 또는 다른 브라우저를 호출하여 제목과 기타 정보를 얻을 수 있기 때문에 기본적으로 모든 방법을 해당 방법으로 완료 할 수 있습니다. 또한, 인쇄 화면이 여러 키 스트로크를 믹스에 추가하는 기능을 수행하도록 매핑 된 단일 키를 허용하므로 바람직하지 않습니다. 나는 # 1을 추천한다.