sudo에서 .desktop 아이콘을 실행하는 방법


11

gddccontrol의 데스크탑 아이콘을 만들었지 만이를 실행하려면 sudo에서 실행해야합니다. 바탕 화면 아이콘에서 명령을 실행하는 방법이 있습니까?

sudo -pPASSWORD gddccontrol

터미널에서 암호를 묻지 않습니다.

클릭하고 sudo 권한으로 실행하고 싶습니다.

[Desktop Entry]
Type=Application
Name=GDDCControl
Terminal=false
Comment=gddccontrol ddccontrol
Exec=sudo -pPASSWORD gddccontrol
Icon=~/Pictures/10429.png

다음 Exec 명령으로 터미널에서 아이콘을 실행하면 정상적으로 작동하지만 Launcher에서는 작동하지 않습니다. (

Exec=echo mypasswd | sudo -S gddccontrol

답변:


17

.desktop파일에 저장된 비밀번호를 절대 사용하지 마십시오 . 정말 안전하지 않습니다.

또한 .desktop파일에서 이와 같이 복잡한 명령을 실행할 수 는 없지만 다른 주제입니다.

해야 할 일

몇 가지 옵션이 있습니다.

  1. 추가 gddccontrol받는 sudoers예 설명 된대로 파일을 여기에 . 응용 프로그램을 사용하여 악의적 인 작업을 수행 할 수없는 경우이 작업을 수행 할 수 있습니다.

    그런 다음 사용

    Exec=sudo gddccontrol
    

    에서 Exec=- 라인

  2. 또 다른 옵션은 Exec=라인을 다음과 같이 바꾸는 것입니다 .

    Exec=gksu gddccontrol
    

    이 경우 아이콘을 클릭하면 gui를 통해 비밀번호를 입력하라는 메시지가 표시됩니다.
    설치해야 할 수도 있습니다 gksu.

    sudo apt-get install gksu
    

sudoers와 gksu를 편집하지 않고 다른 방법은 없습니까? gksu는 암호를 묻는 방법이 있지만 저녁 시간에 소파에 누워있을 때 마우스로 gddccontrol을 실행하여 밝기 / 대비를 낮추고 키보드에 오지 않고 영화를 계속보고 싶습니다. 내가 더 $의 gddccontrol dev에 내 사용자 액세스 권한을 부여 할 것입니다 :는 / dev / I2C-4 : 허가가 난 그냥 :( 저녁 시간의 변화 밝기 및 대비에 두통없이 쉬운 방법을 원하는 거부
유진

1
@Eugene 상상할 수 있습니다. 이 경우 sudoers 파일로 갈 것입니다.
Jacob Vlijm

1
선호 pkexec이상 gksu; 나는 이것에 대한 메타 게시물이 있다고 생각합니다.
고양이

@cat pkexec은 그런 GUI 응용 프로그램에서 실행되지 않습니다. gksu완벽하게 작동 하면서 설정이 더 복잡 합니다.
Jacob Vlijm

그러나 pkexec16.04에 추가로 설치할 필요는 없습니다 .
Valentas

4

sudo정의에 따라 will을 사용 하면 비밀번호 요청이 표시됩니다. 당신이해야 할 일은 사용자에게 실행 권한을 부여하는 것입니다. 그 프로그램이 어디에 있는지 잘 모르겠지만이 대답을 위해 그것이 있다고 가정 해 봅시다 /usr/bin/.

터미널에서 이것을 실행하십시오 :

sudo chmod o+x /usr/bin/gddccontrol

그 명령이 부여됩니다 O를 전자로 (당신처럼) THER 사용자 권리를 X ecute 허가없이 프로그램을.

그런 다음 .desktop 파일에서 다음을 사용하십시오.

Exec=gddccontrol

0

일반 텍스트 파일의 하드 코딩 암호에 반대하여 두 가지 가능한 해결책을 생각할 수 있습니다.

  1. sudo로 사용자가 발행 한 모든 명령이 암호를 묻지 않고 수퍼 유저로 실행되도록 시스템 전체에서 편집하십시오. 이 답변 에서 방법을 찾을 수 있습니다

  2. sudo암호 프롬프트로 명령을 항상 실행 하지 않으려면 명령 gksu전에 원시 암호를 파일에 쓰지 않고 그래픽 창에서 암호를 묻는 프롬프트를 사용하는 것이 가장 좋습니다 .

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