나는 내 XFCE 세션 (xubuntu)의 잠금을 해제하는 간단한 스크립트를 작성하려고하는데, USB를 통해 내 휴대 전화를 연결하고 그 반대의 경우 - & gt; 전화가 끊어지면 잠급니다.
지금까지 필자는 udev에 connect에 내 스크립트를 시작하는 새로운 규칙을 작성했습니다.
SUBSYSTEM=="usb", ACTION=="add", ATTRS{serial}=="(my serial here)", RUN+="/path/to/script/lock.sh"
화면을 잠 그려면 xflock4를 사용할 수 있습니다. xflock4는 xfce에서 CTRL + ALT + DEL을 눌렀을 때 해고됩니다. 하지만 실행중인 xfce 세션을 사용하는 방법을 모릅니다. 지금이 스크립트는 root에 의해 해고됩니다.
스크립트 :
첫 번째 접근법
#!/bin/bash
xflock4
strace
execve("./lock.sh", ["./lock.sh"], [/* 22 vars */]) = 0
brk(0) = 0x23e2000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f190346f000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=96099, ...}) = 0
mmap(NULL, 96099, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f1903457000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libtinfo.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\303\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=167096, ...}) = 0
mmap(NULL, 2264288, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1903026000
mprotect(0x7f190304b000, 2093056, PROT_NONE) = 0
mmap(0x7f190324a000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x24000) = 0x7f190324a000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\16\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=14664, ...}) = 0
mmap(NULL, 2109744, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1902e22000
mprotect(0x7f1902e25000, 2093056, PROT_NONE) = 0
mmap(0x7f1903024000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f1903024000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\37\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1840928, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1903456000
mmap(NULL, 3949248, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1902a5d000
mprotect(0x7f1902c18000, 2093056, PROT_NONE) = 0
mmap(0x7f1902e17000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1ba000) = 0x7f1902e17000
mmap(0x7f1902e1d000, 17088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f1902e1d000
close(3) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1903454000
arch_prctl(ARCH_SET_FS, 0x7f1903454740) = 0
mprotect(0x7f1902e17000, 16384, PROT_READ) = 0
mprotect(0x7f1903024000, 4096, PROT_READ) = 0
mprotect(0x7f190324a000, 16384, PROT_READ) = 0
mprotect(0x6ef000, 4096, PROT_READ) = 0
mprotect(0x7f1903471000, 4096, PROT_READ) = 0
munmap(0x7f1903457000, 96099) = 0
open("/dev/tty", O_RDWR|O_NONBLOCK) = 3
close(3) = 0
brk(0) = 0x23e2000
brk(0x23e3000) = 0x23e3000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=4164976, ...}) = 0
mmap(NULL, 4164976, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f1902664000
close(3) = 0
brk(0x23e4000) = 0x23e4000
brk(0x23e5000) = 0x23e5000
getuid() = 0
getgid() = 0
geteuid() = 0
getegid() = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
brk(0x23e6000) = 0x23e6000
open("/proc/meminfo", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f190346e000
read(3, "MemTotal: 7994668 kB\nMemF"..., 1024) = 1024
close(3) = 0
munmap(0x7f190346e000, 4096) = 0
brk(0x23e7000) = 0x23e7000
rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7f1902a93d40}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7f1902a93d40}, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7f1902a93d40}, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7f1902a93d40}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7f1902a93d40}, {SIG_DFL, [], SA_RESTORER, 0x7f1902a93d40}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x7f1902a93d40}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x7f1902a93d40}, {SIG_DFL, [], SA_RESTORER, 0x7f1902a93d40}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
rt_sigaction(SIGQUIT, {SIG_IGN, [], SA_RESTORER, 0x7f1902a93d40}, {SIG_DFL, [], SA_RESTORER, 0x7f1902a93d40}, 8) = 0
uname({sys="Linux", node="kabaret", ...}) = 0
brk(0x23e8000) = 0x23e8000
brk(0x23e9000) = 0x23e9000
stat("/home/marverix/magic", {st_mode=S_IFDIR|0775, st_size=30, ...}) = 0
stat(".", {st_mode=S_IFDIR|0775, st_size=30, ...}) = 0
getpid() = 26451
open("/usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=26258, ...}) = 0
mmap(NULL, 26258, PROT_READ, MAP_SHARED, 3, 0) = 0x7f1903468000
close(3) = 0
brk(0x23ea000) = 0x23ea000
getppid() = 26448
brk(0x23eb000) = 0x23eb000
brk(0x23ec000) = 0x23ec000
getpgrp() = 26448
rt_sigaction(SIGCHLD, {0x4464c0, [], SA_RESTORER|SA_RESTART, 0x7f1902a93d40}, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7f1902a93d40}, 8) = 0
getrlimit(RLIMIT_NPROC, {rlim_cur=30433, rlim_max=30433}) = 0
brk(0x23ed000) = 0x23ed000
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
open("./lock.sh", O_RDONLY) = 3
ioctl(3, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, 0x7ffde540f540) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(3, 0, SEEK_CUR) = 0
read(3, "#!/bin/bash\n\nxflock4\n", 80) = 21
lseek(3, 0, SEEK_SET) = 0
getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=4*1024}) = 0
fcntl(255, F_GETFD) = -1 EBADF (Bad file descriptor)
dup2(3, 255) = 255
close(3) = 0
fcntl(255, F_SETFD, FD_CLOEXEC) = 0
fcntl(255, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
fstat(255, {st_mode=S_IFREG|0775, st_size=21, ...}) = 0
lseek(255, 0, SEEK_CUR) = 0
brk(0x23ee000) = 0x23ee000
read(255, "#!/bin/bash\n\nxflock4\n", 21) = 21
stat(".", {st_mode=S_IFDIR|0775, st_size=30, ...}) = 0
stat("/usr/local/sbin/xflock4", 0x7ffde540f220) = -1 ENOENT (No such file or directory)
stat("/usr/local/bin/xflock4", 0x7ffde540f220) = -1 ENOENT (No such file or directory)
stat("/usr/sbin/xflock4", 0x7ffde540f220) = -1 ENOENT (No such file or directory)
stat("/usr/bin/xflock4", {st_mode=S_IFREG|0755, st_size=1560, ...}) = 0
stat("/usr/bin/xflock4", {st_mode=S_IFREG|0755, st_size=1560, ...}) = 0
geteuid() = 0
getegid() = 0
getuid() = 0
getgid() = 0
access("/usr/bin/xflock4", X_OK) = 0
stat("/usr/bin/xflock4", {st_mode=S_IFREG|0755, st_size=1560, ...}) = 0
geteuid() = 0
getegid() = 0
getuid() = 0
getgid() = 0
access("/usr/bin/xflock4", R_OK) = 0
stat("/usr/bin/xflock4", {st_mode=S_IFREG|0755, st_size=1560, ...}) = 0
stat("/usr/bin/xflock4", {st_mode=S_IFREG|0755, st_size=1560, ...}) = 0
geteuid() = 0
getegid() = 0
getuid() = 0
getgid() = 0
access("/usr/bin/xflock4", X_OK) = 0
stat("/usr/bin/xflock4", {st_mode=S_IFREG|0755, st_size=1560, ...}) = 0
geteuid() = 0
getegid() = 0
getuid() = 0
getgid() = 0
access("/usr/bin/xflock4", R_OK) = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f1903454a10) = 26452
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGINT, {0x4438a0, [], SA_RESTORER, 0x7f1902a93d40}, {SIG_DFL, [], SA_RESTORER, 0x7f1902a93d40}, 8) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 26452
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7f1902a93d40}, {0x4438a0, [], SA_RESTORER, 0x7f1902a93d40}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=26452, si_status=0, si_utime=0, si_stime=0} ---
wait4(-1, 0x7ffde540ed58, WNOHANG, NULL) = -1 ECHILD (No child processes)
rt_sigreturn() = 0
read(255, "", 21) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
exit_group(0) = ?
+++ exited with 0 +++
제 2 접근법
#!/bin/bash
su - marverix
xflock4
exit
strace
execve("./lock.sh", ["./lock.sh"], [/* 22 vars */]) = 0
brk(0) = 0x760000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6dfc7eb000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=96099, ...}) = 0
mmap(NULL, 96099, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f6dfc7d3000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libtinfo.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\303\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=167096, ...}) = 0
mmap(NULL, 2264288, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f6dfc3a2000
mprotect(0x7f6dfc3c7000, 2093056, PROT_NONE) = 0
mmap(0x7f6dfc5c6000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x24000) = 0x7f6dfc5c6000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\16\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=14664, ...}) = 0
mmap(NULL, 2109744, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f6dfc19e000
mprotect(0x7f6dfc1a1000, 2093056, PROT_NONE) = 0
mmap(0x7f6dfc3a0000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f6dfc3a0000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\37\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1840928, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6dfc7d2000
mmap(NULL, 3949248, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f6dfbdd9000
mprotect(0x7f6dfbf94000, 2093056, PROT_NONE) = 0
mmap(0x7f6dfc193000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1ba000) = 0x7f6dfc193000
mmap(0x7f6dfc199000, 17088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f6dfc199000
close(3) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6dfc7d0000
arch_prctl(ARCH_SET_FS, 0x7f6dfc7d0740) = 0
mprotect(0x7f6dfc193000, 16384, PROT_READ) = 0
mprotect(0x7f6dfc3a0000, 4096, PROT_READ) = 0
mprotect(0x7f6dfc5c6000, 16384, PROT_READ) = 0
mprotect(0x6ef000, 4096, PROT_READ) = 0
mprotect(0x7f6dfc7ed000, 4096, PROT_READ) = 0
munmap(0x7f6dfc7d3000, 96099) = 0
open("/dev/tty", O_RDWR|O_NONBLOCK) = 3
close(3) = 0
brk(0) = 0x760000
brk(0x761000) = 0x761000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=4164976, ...}) = 0
mmap(NULL, 4164976, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f6dfb9e0000
close(3) = 0
brk(0x762000) = 0x762000
brk(0x763000) = 0x763000
getuid() = 0
getgid() = 0
geteuid() = 0
getegid() = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
brk(0x764000) = 0x764000
open("/proc/meminfo", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6dfc7ea000
read(3, "MemTotal: 7994668 kB\nMemF"..., 1024) = 1024
close(3) = 0
munmap(0x7f6dfc7ea000, 4096) = 0
brk(0x765000) = 0x765000
rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7f6dfbe0fd40}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7f6dfbe0fd40}, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7f6dfbe0fd40}, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7f6dfbe0fd40}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7f6dfbe0fd40}, {SIG_DFL, [], SA_RESTORER, 0x7f6dfbe0fd40}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x7f6dfbe0fd40}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x7f6dfbe0fd40}, {SIG_DFL, [], SA_RESTORER, 0x7f6dfbe0fd40}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
rt_sigaction(SIGQUIT, {SIG_IGN, [], SA_RESTORER, 0x7f6dfbe0fd40}, {SIG_DFL, [], SA_RESTORER, 0x7f6dfbe0fd40}, 8) = 0
uname({sys="Linux", node="kabaret", ...}) = 0
brk(0x766000) = 0x766000
brk(0x767000) = 0x767000
stat("/home/marverix/magic", {st_mode=S_IFDIR|0775, st_size=24, ...}) = 0
stat(".", {st_mode=S_IFDIR|0775, st_size=24, ...}) = 0
getpid() = 26389
open("/usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=26258, ...}) = 0
mmap(NULL, 26258, PROT_READ, MAP_SHARED, 3, 0) = 0x7f6dfc7e4000
close(3) = 0
brk(0x768000) = 0x768000
getppid() = 26386
brk(0x769000) = 0x769000
brk(0x76a000) = 0x76a000
getpgrp() = 26386
rt_sigaction(SIGCHLD, {0x4464c0, [], SA_RESTORER|SA_RESTART, 0x7f6dfbe0fd40}, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7f6dfbe0fd40}, 8) = 0
getrlimit(RLIMIT_NPROC, {rlim_cur=30433, rlim_max=30433}) = 0
brk(0x76b000) = 0x76b000
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
open("./lock.sh", O_RDONLY) = 3
ioctl(3, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, 0x7ffc02ef3fb0) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(3, 0, SEEK_CUR) = 0
read(3, "#!/bin/bash\n\nsu - marverix\nxfloc"..., 80) = 40
lseek(3, 0, SEEK_SET) = 0
getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=4*1024}) = 0
fcntl(255, F_GETFD) = -1 EBADF (Bad file descriptor)
dup2(3, 255) = 255
close(3) = 0
fcntl(255, F_SETFD, FD_CLOEXEC) = 0
fcntl(255, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
fstat(255, {st_mode=S_IFREG|0775, st_size=40, ...}) = 0
lseek(255, 0, SEEK_CUR) = 0
brk(0x76c000) = 0x76c000
read(255, "#!/bin/bash\n\nsu - marverix\nxfloc"..., 40) = 40
stat(".", {st_mode=S_IFDIR|0775, st_size=24, ...}) = 0
stat("/usr/local/sbin/su", 0x7ffc02ef3c90) = -1 ENOENT (No such file or directory)
stat("/usr/local/bin/su", 0x7ffc02ef3c90) = -1 ENOENT (No such file or directory)
stat("/usr/sbin/su", 0x7ffc02ef3c90) = -1 ENOENT (No such file or directory)
stat("/usr/bin/su", 0x7ffc02ef3c90) = -1 ENOENT (No such file or directory)
stat("/sbin/su", 0x7ffc02ef3c90) = -1 ENOENT (No such file or directory)
stat("/bin/su", {st_mode=S_IFREG|S_ISUID|0755, st_size=36936, ...}) = 0
stat("/bin/su", {st_mode=S_IFREG|S_ISUID|0755, st_size=36936, ...}) = 0
geteuid() = 0
getegid() = 0
getuid() = 0
getgid() = 0
access("/bin/su", X_OK) = 0
stat("/bin/su", {st_mode=S_IFREG|S_ISUID|0755, st_size=36936, ...}) = 0
geteuid() = 0
getegid() = 0
getuid() = 0
getgid() = 0
access("/bin/su", R_OK) = 0
stat("/bin/su", {st_mode=S_IFREG|S_ISUID|0755, st_size=36936, ...}) = 0
stat("/bin/su", {st_mode=S_IFREG|S_ISUID|0755, st_size=36936, ...}) = 0
geteuid() = 0
getegid() = 0
getuid() = 0
getgid() = 0
access("/bin/su", X_OK) = 0
stat("/bin/su", {st_mode=S_IFREG|S_ISUID|0755, st_size=36936, ...}) = 0
geteuid() = 0
getegid() = 0
getuid() = 0
getgid() = 0
access("/bin/su", R_OK) = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
lseek(255, -13, SEEK_CUR) = 27
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f6dfc7d0a10) = 26390
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGINT, {0x4438a0, [], SA_RESTORER, 0x7f6dfbe0fd40}, {SIG_DFL, [], SA_RESTORER, 0x7f6dfbe0fd40}, 8) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 26390
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7f6dfbe0fd40}, {0x4438a0, [], SA_RESTORER, 0x7f6dfbe0fd40}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=26390, si_status=0, si_utime=0, si_stime=0} ---
wait4(-1, 0x7ffc02ef37d8, WNOHANG, NULL) = -1 ECHILD (No child processes)
rt_sigreturn() = 0
read(255, "xflock4\nexit\n", 40) = 13
stat(".", {st_mode=S_IFDIR|0775, st_size=24, ...}) = 0
stat("/usr/local/sbin/xflock4", 0x7ffc02ef3c90) = -1 ENOENT (No such file or directory)
stat("/usr/local/bin/xflock4", 0x7ffc02ef3c90) = -1 ENOENT (No such file or directory)
stat("/usr/sbin/xflock4", 0x7ffc02ef3c90) = -1 ENOENT (No such file or directory)
stat("/usr/bin/xflock4", {st_mode=S_IFREG|0755, st_size=1560, ...}) = 0
stat("/usr/bin/xflock4", {st_mode=S_IFREG|0755, st_size=1560, ...}) = 0
geteuid() = 0
getegid() = 0
getuid() = 0
getgid() = 0
access("/usr/bin/xflock4", X_OK) = 0
stat("/usr/bin/xflock4", {st_mode=S_IFREG|0755, st_size=1560, ...}) = 0
geteuid() = 0
getegid() = 0
getuid() = 0
getgid() = 0
access("/usr/bin/xflock4", R_OK) = 0
stat("/usr/bin/xflock4", {st_mode=S_IFREG|0755, st_size=1560, ...}) = 0
stat("/usr/bin/xflock4", {st_mode=S_IFREG|0755, st_size=1560, ...}) = 0
geteuid() = 0
getegid() = 0
getuid() = 0
getgid() = 0
access("/usr/bin/xflock4", X_OK) = 0
stat("/usr/bin/xflock4", {st_mode=S_IFREG|0755, st_size=1560, ...}) = 0
geteuid() = 0
getegid() = 0
getuid() = 0
getgid() = 0
access("/usr/bin/xflock4", R_OK) = 0
brk(0x76d000) = 0x76d000
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
lseek(255, -5, SEEK_CUR) = 35
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f6dfc7d0a10) = 26417
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGINT, {0x4438a0, [], SA_RESTORER, 0x7f6dfbe0fd40}, {SIG_DFL, [], SA_RESTORER, 0x7f6dfbe0fd40}, 8) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 26417
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7f6dfbe0fd40}, {0x4438a0, [], SA_RESTORER, 0x7f6dfbe0fd40}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=26417, si_status=0, si_utime=0, si_stime=0} ---
wait4(-1, 0x7ffc02ef37d8, WNOHANG, NULL) = -1 ECHILD (No child processes)
rt_sigreturn() = 0
read(255, "exit\n", 40) = 5
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
exit_group(0) = ?
+++ exited with 0 +++
어떤 아이디어?
또한 큰 도움이 로그인하는 팁 것입니다;)
너의이 대본에 정확히 무엇이 있는가? 이상적으로 RUN + = / usr / bin / xflock4를 사용하여 udev 규칙이 충분해야 함
—
linuxdev2013
나도 그렇게 생각했다. 그러나 그것은 효과가 없다. sudo로 내 계정으로 전환 한 다음 xflock4를 실행하려고했습니다. 그러나 여전히 - 성공하지 못했습니다.
—
marverix
strace 로그를 마음대로 공유하면 두 가지 방법을 모두 사용할 수 없습니까? 설명 된 스크립트를 포함하여?
—
linuxdev2013
업데이트 : 내보내기 DISPLAY = : 0을 추가하려고했습니다. 아직 아무것도.
—
marverix
sudo는 sudo를 필요로하지 않는다. xfce에서 sudo xflock4가 나를 위해 여기에서 작동한다고 생각한다. 4.12
—
linuxdev2013