4 minute read

안드로이드 스마트폰을 단순한 통신 기기 이상으로 활용하고 싶으신가요? TermuxTasker의 강력한 조합으로 안드로이드 자동화의 새로운 지평을 열어보세요. 이 두 앱이 만나면 복잡한 작업도 손쉽게 자동화할 수 있는 무궁무진한 가능성이 펼쳐집니다.

Termux와 Tasker는 무엇인가요?

  • Termux: 안드로이드 기기에서 리눅스 명령줄 환경을 제공하는 강력한 터미널 에뮬레이터입니다. apt 패키지 관리자를 통해 다양한 리눅스 도구와 프로그래밍 언어를 설치하고 실행할 수 있습니다. 모바일 기기에서 개발, 시스템 관리, 스크립트 실행 등 다양한 작업을 수행할 수 있게 해줍니다.

  • Tasker: 안드로이드 기기에서 가장 강력하고 유연한 자동화 앱 중 하나입니다. 특정 조건(시간, 위치, 앱 실행, Wi-Fi 연결 등)이 충족될 때 미리 정의된 작업(앱 실행, 설정 변경, 알림 보내기 등)을 자동으로 수행하도록 설정할 수 있습니다.

이 둘의 조합은 Termux의 리눅스 명령 실행 능력과 Tasker의 강력한 자동화 트리거 및 시스템 제어 능력이 결합되어, 상상할 수 있는 거의 모든 안드로이드 자동화를 구현할 수 있게 합니다.

Termux:Tasker 플러그인의 역할

Termux와 Tasker를 연동하기 위해서는 Termux:Tasker 플러그인이 필요합니다. 이 플러그인은 Tasker가 Termux 내의 스크립트나 명령어를 실행할 수 있도록 다리 역할을 해줍니다. 즉, Tasker에서 특정 조건이 발생했을 때 Termux에게 “이 스크립트를 실행해줘!”라고 지시할 수 있게 되는 것입니다.

중요: Termux와 모든 플러그인(Termux:Tasker 포함)은 동일한 소스에서 설치하는 것이 중요합니다. 호환성 문제를 피하기 위해 F-Droid에서 설치하는 것을 강력히 권장합니다. Google Play 스토어와 F-Droid에서 혼합하여 설치할 경우 서명 키 불일치로 인해 문제가 발생할 수 있습니다.

설치 방법

  1. Termux 설치: F-Droid에서 Termux 앱을 설치합니다.
  2. Tasker 설치: Tasker는 유료 앱이며, Google Play 스토어 또는 Tasker 공식 웹사이트에서 구매하여 설치할 수 있습니다.
  3. Termux:Tasker 플러그인 설치: F-Droid에서 Termux:Tasker 앱을 설치합니다.

설치 후, Termux 앱 내에서 termux-setup-storage 명령어를 실행하여 저장소 접근 권한을 부여하는 것이 좋습니다. 이는 Tasker에서 실행할 스크립트가 외부 저장소에 접근해야 할 경우 필요합니다.

실용적인 사용 예시

이제 Termux와 Tasker를 연동하여 몇 가지 자동화 시나리오를 구현해 보겠습니다.

예시 1: 특정 Wi-Fi 연결 시 Termux 스크립트 자동 실행

집 Wi-Fi에 연결될 때마다 특정 서버에 SSH로 접속하여 상태를 확인하는 스크립트를 자동으로 실행하고 싶을 때 유용합니다.

  1. Termux 스크립트 작성: Termux에서 실행할 스크립트를 작성합니다. 예를 들어, ~/scripts/check_server.sh 파일을 생성하고 다음 내용을 추가합니다.
    #!/data/data/com.termux/files/usr/bin/bash
        
    # 서버 상태를 확인하고 결과를 알림으로 보냅니다.
    # 실제 사용 시에는 SSH 접속 정보 등을 여기에 추가하세요.
    echo "서버 상태 확인 중..."
    # 예시: ping google.com
    ping -c 3 google.com > /dev/null 2>&1
    if [ $? -eq 0 ]; then
      termux-toast "Google.com 핑 성공!"
    else
      termux-toast "Google.com 핑 실패!"
    fi
    
  2. 스크립트 실행 권한 부여: 스크립트 파일에 실행 권한을 부여합니다.
    chmod +x ~/scripts/check_server.sh
    
  3. Tasker 프로필 설정: Tasker 앱을 엽니다.
    • Profile 생성: + 버튼을 눌러 새 Profile을 생성하고 State -> Net -> Wi-Fi Connected를 선택합니다. SSID에 집 Wi-Fi 이름을 입력합니다.
    • Task 생성: Profile에 연결할 새 Task를 생성합니다.
    • Action 추가: + 버튼을 눌러 Plugin -> Termux:Tasker를 선택합니다.
    • Configuration 설정: 연필 아이콘을 눌러 Executable 필드에 ~/scripts/check_server.sh를 입력합니다. Run in background 옵션을 체크하는 것이 좋습니다.
    • Task를 저장하고 Tasker를 활성화합니다.

이제 집 Wi-Fi에 연결될 때마다 Termux 스크립트가 자동으로 실행되고, 결과가 알림으로 표시될 것입니다.

예시 2: 특정 시간마다 Termux 패키지 업데이트 확인

매일 새벽에 Termux 패키지 업데이트를 확인하고, 업데이트가 있다면 알림을 받는 자동화입니다.

  1. Termux 스크립트 작성: ~/scripts/update_check.sh 파일을 생성하고 다음 내용을 추가합니다.
    #!/data/data/com.termux/files/usr/bin/bash
        
    termux-toast "Termux 업데이트 확인 중..."
        
    # 업데이트 가능한 패키지 목록을 가져옵니다.
    UPDATES=$(pkg update -n | grep "^The following packages will be upgraded:" -A 100 | grep -v "^The following packages will be upgraded:" | grep -v "^$")
        
    if [ -z "$UPDATES" ]; then
      termux-toast "Termux: 업데이트할 패키지가 없습니다."
    else
      termux-toast "Termux: 업데이트 가능한 패키지가 있습니다!" -b "$UPDATES"
    fi
    
  2. 스크립트 실행 권한 부여: chmod +x ~/scripts/update_check.sh
  3. Tasker 프로필 설정:
    • Profile 생성: + 버튼을 눌러 새 Profile을 생성하고 Time을 선택합니다. 원하는 시간(예: From 03:00 To 03:01)을 설정합니다.
    • Task 생성 및 Action 추가: 예시 1과 동일하게 Plugin -> Termux:Tasker를 선택하고 Executable~/scripts/update_check.sh를 입력합니다.

이제 매일 설정된 시간에 Termux 업데이트를 확인하고, 결과에 따라 알림을 받을 수 있습니다.

예시 3: 특정 앱 실행 시 Termux에서 VPN 연결

특정 앱(예: 특정 게임 또는 스트리밍 앱)을 실행할 때 자동으로 Termux에서 VPN을 연결하고, 앱 종료 시 VPN을 해제하는 자동화입니다.

  1. Termux VPN 스크립트 작성: (이 예시는 OpenVPN을 사용한다고 가정합니다. 실제 VPN 설정에 따라 스크립트가 달라질 수 있습니다.)
    • ~/scripts/vpn_connect.sh:
      #!/data/data/com.termux/files/usr/bin/bash
      termux-toast "VPN 연결 중..."
      # OpenVPN 설정 파일 경로에 맞게 수정하세요.
      openvpn --config ~/vpn/my_vpn.ovpn > /dev/null 2>&1 &
      echo $! > ~/vpn/vpn_pid.txt # VPN 프로세스 ID 저장
      termux-toast "VPN 연결 완료!"
      
    • ~/scripts/vpn_disconnect.sh:
      #!/data/data/com.termux/files/usr/bin/bash
      termux-toast "VPN 연결 해제 중..."
      if [ -f ~/vpn/vpn_pid.txt ]; then
        kill $(cat ~/vpn/vpn_pid.txt)
        rm ~/vpn/vpn_pid.txt
      fi
      termux-toast "VPN 연결 해제 완료!"
      
  2. 스크립트 실행 권한 부여: chmod +x ~/scripts/vpn_connect.sh ~/scripts/vpn_disconnect.sh
  3. Tasker 프로필 설정:
    • Profile 생성: + 버튼을 눌러 새 Profile을 생성하고 Application을 선택합니다. VPN 연결이 필요한 앱을 선택합니다.
    • Enter Task (앱 실행 시):
      • 새 Task를 생성하고 Plugin -> Termux:Tasker를 선택합니다.
      • Executable~/scripts/vpn_connect.sh를 입력합니다.
    • Exit Task (앱 종료 시):
      • Profile을 길게 누른 후 Add Exit Task를 선택합니다.
      • 새 Task를 생성하고 Plugin -> Termux:Tasker를 선택합니다.
      • Executable~/scripts/vpn_disconnect.sh를 입력합니다.

이제 특정 앱을 실행하면 자동으로 VPN이 연결되고, 앱을 종료하면 VPN이 해제될 것입니다.

결론

Termux와 Tasker의 연동은 안드로이드 기기에서 상상 이상의 자동화 기능을 구현할 수 있게 해줍니다. 간단한 시스템 관리부터 복잡한 워크플로우 자동화까지, 이 강력한 조합을 통해 여러분의 스마트폰을 진정한 개인 서버이자 자동화 허브로 변모시킬 수 있습니다. 다양한 스크립트와 Tasker 프로필을 조합하여 여러분만의 ‘끝판왕’ 자동화를 만들어 보세요!