Mozilla 원격 프로토콜을 사용하여 xdg-open을 통해 URL 열기

Mozilla 원격 프로토콜을 사용하여 xdg-open을 통해 URL 열기

이전 버전의 Netscape 및 Mozilla(X11용)는 소위 말하는 기능을 지원합니다.원격 프로토콜: Netscape/Mozilla 창이 현재 .net에 열려 있으면(로컬 프로세스일 필요는 없음) URL을 열거나 이메일 작성을 시작할 수 있습니다 DISPLAY.

"원격" 기능은 어떤 방식으로든 작동합니다. 원격 클라이언트에서 로컬 브라우저로, 그 반대로 또는 원격에서 원격으로 host1host2다 로컬로 연결할 수 있는 경우에도 작동합니다 DISPLAY.

다음 문서는 다음과 같습니다.

원격 요청에 대한 기본 지원은 다음에서 유지되었습니다.바다 원숭이openURL(%url%,new-tab), 그래서 오늘날에도 다음과 같은 주장을 지원합니다 .openURL(%url%,new-window)

*desktop이제 시작할 사용자 정의 파일을 만들고 싶습니다.바다 원숭이바로 이러한 주장입니다.

문제는 다음과 같은 형식입니다.

[Desktop Entry]
Exec=seamonkey %u

%u확장 기능은 작동하며 다음과 같습니다.

[Desktop Entry]
Exec=seamonkey -remote openURL(%u)

그렇지 않습니다: %u연장되지 않습니다오직주변에 공간이 있는 경우.

이것데스크탑 엔트리 사양이에 대한 언급이 없으므로 이는 문서화되지 않은 예상치 못한 동작입니다.

해결 방법을 제안해 주실 수 있나요?

답변1

사양에 대해서는 아무 말도 할 수 없지만 결과에 따르면 (해당 문서의 참조 내용에 익숙하지 않음에도 불구하고) 작동할 것으로 기대합니다.

Exec=bash -c 'echo seamonkey openURL"($1)"' seamonkey-wrapper %u%

답변2

최근에이 문제가 발생하여 사양이 있습니다.여기

%이는 애플리케이션용인 경우 필수입니다 %%. 이는 향후 youtube-dl용 .desktop 파일을 생성하고 이 --output옵션을 사용할 때 사용됩니다. 귀하의 경우 중괄호를 이스케이프 처리해야 할 수도 있습니다. \(\), 쉘이 이를 평가하기 때문입니다. 옵션을 설정하면 terminal=true/at 에 대한 오류가 표시됩니다 (.

아니면 다음을 시도해 보세요. seamonkey 'openURL(%u)' seamonkey "openurl\$'0028'%u\$'0029'"

경계해라! 을 작업하는 '동안 문제가 발생한 적이 있습니다 ". 하지만 '아무런 설명이나 확장 없이 문자 그대로만 의미했습니다. IIRC에서는 변수가 이미 참조되어 있으므로 참조할 필요가 없습니다.

답변3

나에게는 선행 및 후행 퍼센트 문자가 포함된 가변 모드 사용이 매우 DOS처럼 보입니다. freedesktop 사양 문서에 대한 참조에는 선행 문자만 언급되어 있습니다.

문서에 따르면Mozilla 원격 제어 옵션, 명령은 openURL옵션의 매개변수입니다 -remote. 이 옵션이 없으면 셸에서 Exec 명령줄을 실행할 수 없습니다. Fedora에서 seamonkey 2.49.5를 사용하여 테스트에 성공했습니다.

한번 시도해 보시겠어요 Exec=seamonkey -remote openURL(%u)?

관련 정보