다음 bash 스크립트는 이미지 파일의 텍스트를 해석하여 .txt 파일에 씁니다.
#!/usr/bin/env bash
LD_LIBRARY_PATH="/usr/local/lib"
export LD_LIBRARY_PATH
/usr/local/bin/tesseract /home/martin/work/textpic.png /home/martin/work/tesseract-out
터미널에서 실행하면 tesseract-out.txt가 생성되지만 사용자 정의 키보드 단축키를 통해 실행하면 아무 것도 기록되지 않습니다. echo "test" > /home/martin/work/test.txt
파일을 생성하는 에 넣어 올바른 스크립트를 실행했는지 확인했습니다 .
sudo chmod 777
권한 문제가 있는 경우를 대비해 tesseract에서 실행했습니다 .
바로가기를 통해 스크립트를 실행할 때 tesseract에 경로에 없는 일부 lib 파일이 필요하다는 직감이 있었기 때문에 이 줄을 스크립트 파일의 상단에 배치했습니다(필요한 일부 lib 파일이 다음 위치에 있다는 것을 알고 있었습니다). /usr/로컬/lib):
LD_LIBRARY_PATH="/usr/local/lib"
export LD_LIBRARY_PATH
그러나 그 목적을 달성하지 못했습니다. 문제를 어떻게 디버깅합니까? 어떻게든 많은 도움이 될 일종의 오류 메시지를 얻을 수 있다면 말이죠.
내 리눅스 버전:
DISTRIB_RELEASE=18.3
DISTRIB_CODENAME=sylvia
DISTRIB_DESCRIPTION="Linux Mint 18.3 Sylvia"
NAME="Linux Mint"
VERSION="18.3 (Sylvia)"
ID=linuxmint
ID_LIKE=ubuntu
PRETTY_NAME="Linux Mint 18.3"
VERSION_ID="18.3"
HOME_URL="http://www.linuxmint.com/"
SUPPORT_URL="http://forums.linuxmint.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/linuxmint/"
VERSION_CODENAME=sylvia
UBUNTU_CODENAME=xenial
제가 사용하는 키보드 단축키 관리자는 Mint 18의 표준 GUI 관리자입니다. 더 나은 오류 메시지를 얻기 위해 다른 것을 사용할 수 있을까요?
편집하다:
저는 이를 /sbin/ldconfig -N -v $(sed 's/:/ /g' <<< $LD_LIBRARY_PATH) > /home/martin/work/libs-in-path.txt
스크립트 하단에 배치하고 readelf -d /usr/local/bin/tesseract | grep NEEDED
.