디렉토리가 열려 있음을 감지하면 네트워크를 통해 디렉토리를 마운트하는 스크립트를 실행하도록 Devilspie를 구성하려고 합니다.
스크립트 자체는 그다지 중요하지 않다고 생각하지만, 만일을 대비해 여기에 코드를 표시하겠습니다.
#!/bin/bash
ldir=/home/LinPC/Desktop/Pictures
rdir="//WinPC/My Pictures"
if [ !"$(ls -A $ldir)" ] ; then
sudo mount.cifs "$rdir" "$ldir" -o user=someguy
fi
이 스크립트는 셸에서 실행될 때 작동합니다.
gdevilspie 인터페이스를 사용하여 Devilspie를 구성했습니다(아마 이것이 문제의 일부일까요?). 창이 잠시 깜박이지만 쉘이 즉시 닫히는 것을 보면 조건이 충족되었음을 알 수 있습니다. "spawn_sync" 작업에 다음 줄을 사용합니다.
lxterminal -e sudo bash ~/mount_music.sh
위의 내용을 셸에 입력하면 셸이 생성되고 스크립트가 성공적으로 실행됩니다(입력하라는 메시지가 표시됨). Devilspie에 의해 트리거되면 메시지가 표시되지 않고 출력을 보기 전에 열리고 닫힙니다.
(BTW, gdevilspie generate_sync 작업 입력:
lxterminal -command="sudo bash ~/mount_music.sh"
그런 다음 대화 상자를 닫고 다시 열면 등호 뒤의 모든 내용이 gdevilspie의 버그로 지워집니다. )