시작 시 쉘 스크립트 실행(Kali Linux)

시작 시 쉘 스크립트 실행(Kali Linux)

이것은 매우 기본적인 것으로 보이며 시작 시 성공하지 않고 실행할 간단한 스크립트를 얻기 위해 일부 튜토리얼을 따랐습니다.

내 스크립트는 다음과 같습니다(루트 디렉터리에 있음).

#! /bin/bash
xmodmap ~/.xmodmaprc
echo 0 | sudo tee /sys/module/hid_apple/parameters/iso_layout

이 스크립트는 기본적으로 Ctrl 키와 Command 키를 전환하여 내 키맵을 변경합니다(MacBook에서 하는 것처럼). chmod실행 가능하도록 편집 하여 ./keymap_fix.sh실행하거나 실행하면 성공적으로 실행됩니다./root/keymap_fix.sh

나는 이 간단한 튜토리얼을 따랐습니다. https://www.cyberciti.biz/tips/linux-how-to-run-a-command-when-boots-up.html그리고https://www.cyberciti.biz/faq/linux-execute-cron-job-after-system-reboot/

그래서 쉘 스크립트를 복사해서 /etc/init.d실행했습니다.update-rc.d keymap_fix.sh defaults 100

를 추가하여 비슷한 방식으로 crontab을 설정하려고 시도했지만 @reboot /root/keymap_fix.sh아무것도 작동하지 않았습니다! 재부팅할 때마다 키맵은 동일하게 유지됩니다. :/

누구든지 여기서 나를 도울 수 있다면 매우 감사하겠습니다. 감사합니다!

답변1

이와 같은 명령은 xmodmapX 창에서만 실행할 수 있습니다.

dot.desktopxdg autostart 폴더에 파일을 생성 해야 합니다 . 예를 들어 파일을 생성 ~/.config/autostart/startup.desktop하고 그 안에 다음 줄을 입력합니다:

Exec=~/bin/startup.sh

바라보다이 링크자세한 내용은

답변2

이 질문은 중복되었습니다.kali linux 시작 시 시작 스크립트

나는 다음 단계에 따라 이 질문에 대답했습니다.

sudo vim /etc/systemd/system/rc-local.service

그런 다음 다음 내용을 추가합니다.

[Unit]
 Description=/etc/rc.local Compatibility
 ConditionPathExists=/etc/rc.local

[Service]
 Type=forking
 ExecStart=/etc/rc.local start
 TimeoutSec=0
 StandardOutput=tty
 RemainAfterExit=yes
 SysVStartPriority=99

[Install]
 WantedBy=multi-user.target

참고: 16.10부터 Ubuntu는 더 이상 /etc/rc.local 파일과 함께 제공되지 않습니다. Kali와 같은 다른 배포판에서도 마찬가지입니다. 이 명령을 실행하여 파일을 생성할 수 있습니다.

printf '%s\n' '#!/bin/bash' 'exit 0' | sudo tee -a /etc/rc.local

그런 다음 /etc/rc.local 파일에 실행 권한을 추가합니다.

sudo chmod +x /etc/rc.local

그런 다음 시스템 시작 시 서비스를 활성화합니다.

sudo systemctl enable rc-local

마지막으로 서비스를 시작하고 상태를 확인합니다.

sudo systemctl start rc-local.service
sudo systemctl status rc-local.service

전체 게시물:Systemd를 사용하여 /etc/rc.local을 활성화하는 방법.

관련 정보