이 스크립트를 ~/.bashrc 파일에 작성하고 파일을 받았지만 작동하지 않습니다. 그 목적은 Chrome 브라우저의 jupyter 노트북에서 제공하는 링크를 새 탭에서 여는 것입니다.
chrome(){
echo $1 # <--- shows that jupfire is sending an empty string
# I'm using Windows Subsystem for Linux
"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe" $1
}
jupfire(){
jupyter notebook 2>juptemp &
sleep 3
chrome "$(tail -1 juptemp | grep http)"
rm juptemp
}
몇 가지 실패한 방법을 검색하고 시도한 후 이것이 I/O 버퍼링과 관련이 있다는 결론에 도달했습니다. "jupfire" 함수의 첫 번째 줄 뒤의 "&"로 인해 stderr이 juptemp로 플러시되지 않아 빈 문자열이 chrome 함수로 전송될 수 있습니다.
"stdbuf"를 사용해야 할 것 같지만 어떻게 해야 할지 모르겠습니다. 매뉴얼 페이지를 확인하여 다음과 같은 결과를 얻었습니다. stdbuf -e0 jupyter notebook 2>juptemp &
jupfire 함수의 첫 번째 줄이지만 여전히 작동하지 않습니다. (명확하게 말하면 "작동하지 않음"이란 빈 주소 표시줄이 있는 Chrome에서 새 탭을 여는 것을 의미합니다.) 버퍼링에 문제가 있는 경우 플러시를 사용하는 올바른 방법을 안내해 주실 수 있나요? 감사해요.
편집: 다음은 "jupyter Notebook" 명령의 출력 예입니다.
... To access the notebook, open this file in a browser: file:///home/mojtabaa/.local/share/jupyter/runtime/nbserver-28353-open.html Or copy and paste one of these URLs: http://localhost:8888/?token=2ead351a97edd97dc5b5fd0aa80b6872af9f9e5c6b9ef10b