그놈 창 관리자에 응용 프로그램을 어떻게 추가합니까?


50

그놈 온보드 문서에는 누구나 쉽게 추측 할 수있는 내용 만 포함되어 있습니다. 명령 줄에서만 시작할 수있는 응용 프로그램이 있습니다. 터미널을 사용하는 것이 좋지는 않지만 ...

어쨌든 그놈 WM에 명령 (그리고 좋은 로고)을 어떻게 추가합니까?


마우스 오른쪽 버튼을 클릭하면 "메뉴 편집"항목이 표시됩니까?
slm

아니요, 마우스 오른쪽 버튼 클릭 메뉴가 없습니다.
mart

1
그놈은 창 관리자가 아닌 데스크탑 환경 입니다. 그놈 2.x에서의 윈도우 매니저라고 Metacity 및 GNOME3는 사용 합성 창 관리자 라는 무터
토마스 니만

답변:


89

에서 GNOME 및 기타 freedesktop.org 같은 호환 데스크탑 환경 KDE화합 , 응용 프로그램을 통해 바탕 화면의 메뉴 나 바탕 화면 쉘에 추가 된 데스크탑 엔트리 텍스트 파일에 정의 된, .desktop확장 (라고도 바탕 화면 파일 ). 데스크탑 환경은 사용 가능한 데스크탑 항목에서 추출 된 결합 된 정보로부터 사용자를위한 메뉴를 구성합니다.

데스크탑 파일은 다음 두 위치 중 하나에서 생성 될 수 있습니다.

  • /usr/share/applications/ 시스템의 모든 사용자가 사용할 수있는 데스크탑 항목
  • ~/.local/share/applications/ 단일 사용자가 사용할 수있는 데스크탑 항목

새로 추가 된 응용 프로그램이 작동하려면 그놈을 다시 시작해야 할 수도 있습니다.

규칙에 따라 데스크탑 파일은 이름에 공백이나 국제 문자를 포함하지 않아야합니다.

각 데스크탑 파일은 그룹 으로 나뉘며 , 각 그룹 파일은 대괄호 ( [])로 그룹 헤더로 시작합니다 . 각 섹션에는 등호 ( )로 구분 된 여러 개의 , 쌍이 =있습니다.

다음은 데스크탑 파일 샘플입니다.

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Application Name
Comment=Application description
Icon=/path/to/icon.xpm
Exec=/path/to/application/executable
Terminal=false
Categories=Tags;Describing;Application

설명

  • [Desktop Entry]Desktop Entry그룹 헤더는 바탕 화면 항목으로 파일을 식별
  • Type 항목의 종류, 유효한 값은 Application, LinkDirectory
  • Encoding데스크탑 파일 의 문자 인코딩
  • Name 메뉴 또는 런처에 표시되는 응용 프로그램 이름
  • Comment 툴팁에 사용되는 응용 프로그램에 대한 설명
  • Icon 메뉴 또는 실행기에서 애플리케이션에 표시되는 아이콘
  • Exec 쉘에서 응용 프로그램을 시작하는 데 사용되는 명령
  • Terminal 어플리케이션이 단말기에서 실행되어야하는지, 유효한 값은 true또는false
  • Categories;항목을 표시해야하는 세미콜론 ( )으로 구분 된 메뉴 범주 목록

Exec키의 명령 줄 인수 는 다음 변수로 나타낼 수 있습니다.

  • %f 단일 파일 이름.
  • %F 여러 파일 이름.
  • %u 단일 URL
  • %U 여러 개의 URL.
  • %d 단일 디렉토리. %f파일을 찾기 위해 함께 사용 됩니다.
  • %D 여러 디렉토리. %F파일을 찾기 위해 함께 사용됩니다 .
  • %n 경로가없는 단일 파일 이름
  • %N 경로가없는 여러 파일 이름.
  • %k 데스크탑 파일 위치의 URI 또는 ​​로컬 파일 이름
  • %v 장치 항목의 이름

참고 ~같은 또는 환경 변수 $HOME데스크탑 파일 내에서 확장되지 않습니다 때문에, 참조 된 실행 파일 중 하나에 있어야합니다 $PATH또는 절대 경로를 통해 참조.

그놈 개발자 센터 에서 완전한 데스크탑 엔트리 사양 을 이용할 수 있습니다 .

스크립트 시작

시작될 응용 프로그램을 호출하기 전에 특정 단계를 수행해야하는 경우, 응용 프로그램을 시작하는 쉘 스크립트를 작성하고 데스크탑 항목을 쉘 스크립트를 가리킬 수 있습니다. 특정 현재 작업 디렉토리에서 응용 프로그램을 실행해야한다고 가정하십시오. 위치에 적합한 시작 스크립트를 작성하십시오 ( ~/bin/예 :). 스크립트는 다음과 같습니다.

#!/bin/bash
pushd "/path/to/application/directory"
./application "$@"
popd

스크립트의 실행 비트를 설정하십시오.

$ chmod +x ~/bin/launch-application

그런 다음 Exec데스크탑 항목 의 키를 실행 스크립트로 지정하십시오.

Exec=/home/user/bin/launch-application

나는 응용 프로그램에서 아이콘을 볼 수 있지만 응용 프로그램을 시작하지 않으면 커서가로드 기호로 몇 초 동안 변경됩니다. 오류 메시지가 없습니다.
mart

@mart 런처를 추가하려는 응용 프로그램을 알려주시겠습니까?
Thomas Nyman

1
FTL-웹 어딘가에서 구입 한 인디 게임. 콘솔에서 시작하면 작동합니다.
mart

1
@mart <path>/.FTL는 현재 디렉토리에서 호출 된 파일 을 가리키는와 .FTL동일하지 않은 숨겨진 파일 ./FTL을 가리 킵니다 FTL. 터미널에서 실행 FTL하여 전체 /full/path/path/to/FTL오류 출력이 있는지 확인할 수 있습니다. 예를 들어, 실행 파일이 현재 작업 디렉토리에서 라이브러리를 검색 pushd <path>; ./FTL; popd하는 Exec경우 데스크탑 파일 의 지정자를 실행기 스크립트로 지시하는 실행기 스크립트를 수행해야 할 수도 있습니다 .
Thomas Nyman

1
수정 : 그것은 디렉토리 내부에서 작동
mart

12

Thomas Nyman의 답변이 아주 좋습니다.

Gnome에는 gnome-desktop-item-edit* .desktop 파일을 만드는 데 도움 이되는 GUI 도구가 제공됩니다 . 명령 행에서 사용하거나 데스크탑 파일을 작성해야합니다.

그놈 응용 프로그램을 만드는 방법 gnome-desktop-item-edit

  1. 터미널 창을 열고 다음 명령을 입력하십시오.

    gnome-desktop-item-edit --create-new / home / [사용자 이름] /. local / share / applications

  2. 열린 창에서 다음을 채우십시오. 여기에 이미지 설명을 입력하십시오

    Name: Gnome Applicaiton

    Command: gnome-desktop-item-edit --create-new /home/[your user name]/.local/share/applications

    아이콘을 클릭하여 다른 아이콘을 선택하십시오.

  3. 창을 닫으려면 확인을 클릭하십시오

  4. 터미널 창을 닫습니다

새로 생성 된 테스트 Gnome Application

  1. 대시 열기
  2. 신청
  3. 당신은 Gnome Application전에 입력을 볼 수 있습니다
  4. 그것을 선택하십시오
  5. 다른 응용 프로그램 만들기

고마워요. 새 응용 프로그램이 표시되는 메뉴를 변경하는 방법이 있습니까? 광산은 Applications-> Other
SteveP

0

Thomas Nyman과 Dudi Boy의 이전 답변은 매우 훌륭하고 상세합니다. 다른 게시물에서 의심에 대한 답변을 찾지 못했기 때문에 이것을 게시하고 있으며 자식 문제를 검색해야했습니다.

Thomas Nyman이 제안한 단계를 수행 한 후 프로그램 아이콘을 앱 메뉴에 표시 할 수있게되었습니다. 여기서 문제는 Dash to Dock을 사이드 바로 사용하고 다른 아이콘처럼 좋아하는 아이콘을 고정 할 수 없다는 것입니다. 검색 후 난 당신이 라인을 추가 할 필요가 있음을 발견 StartupWMClass=ApplicationName에서 .desktop파일. 그런 다음 Dash to Dock의 아이콘을 마우스 오른쪽 버튼으로 클릭하여 즐겨 찾기에 추가하는 옵션이 나타납니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.