putty로 ssh를 통한 리눅스서버 접속 후 명령

myiun20의 이미지

putty에서 리눅스서버에 ssh로 접속하여 작업을 하는데 작업도 잘되고 명령어도 잘듣고 잘됩니다.

그런데 우분투에서 기본제공하는 소프트웨어인 mplayer란 프로그램이 있는데 이것을 이용하여 동영상 플레이어를 만들었습니다.

직접 짠 쉘 스크립트는

파일명: Test.sh

#!/bin/bash

mplayer /home/ubuntu/Test.mp4 입니다.

이 스크립트를 리눅스서버 자체에서 직접 ./Test.sh 하면 동영상이 잘 재생됩니다. 하지만 ssh 접속을 하여 명

이 스크립트를 실행하는 명령을 내리면 동영상이 깨지고 리눅스서버가 먹통이되어버립니다. 그래서 껏다 키고

다시 사용중입니다. 이런 증상이 나오는건 왜이런걸까요??? 리눅스서버 자체에서 ssh에 접속하여 명령을 내

려도 같은증상이고 네트워크가 아닌 시리얼을 이용하여 접속한후 원격으로 명령을 내려도 증상이 같습니다.

조언 부탁드립니다.

...의 이미지

고친 mplayer가 GUI 프로그램인 거죠? 리눅스 응용 프로그램들(mplayer)은 보통 X 서버에게 요청을 해서 그래픽 작업을 처리하는 것으로 이해하고 있습니다. 서버 컴퓨터에 연결된 모니터/키보드를 사용할 경우 서버 컴퓨터에서 로컬로 돌아가는 X Server를 통해 물리적으로 붙은 모니터에 보내주는 것일 테고요.

원격 ssh일 경우에는 제가 아는 방법은 X 요청을 ssh를 통해 원격(윈도우즈 putty가 돌아가는 곳)에 있는 X Server에 배달해서 그 X Server가 그래픽 처리를 해주는 것일 텐데, putty만으로는 윈도우즈 쪽 X 지원이 안 되서 재생이 안 되는 게 정상일 것 같습니다.

서버에서 ssh 127.0.0.1로 재생하려면 ssh에 -Y나 -X 옵션 같은 걸 줘야 할 것으로 이해가 되고요. 이것도 sshd 설정 파일에서 이런 연산을 허용하게끔 설정이 되어 있어야 하는 걸로 기억합니다. 먼저 서버에서 -X, -Y를 줘서 되도록 해보시고 윈도우즈에는 X Windows 대체 프로그램을 찾아서 설치해 보세요. 먼 옛날에는 Xming 같은 게 있었는데 지금은 뭘 쓰는지 모르겠네요.

myiun20의 이미지

답변 감사드립니다! 일단 여러모로 문제가많습니다. 일단 우분투가 들어있는 하드웨어보드에서 직접 자기자신을 ssh -x 127.0.0.1@ubuntu 로 접속하고 명령하면 이것또한 동영상이 재생이 꺠져나오고요, putty말고도 C#프로그램이나 안드로이드에서 원격으로 ssh를통해 명령어를 날리는것도 해봤는데 이것또한 역시 결과가 동영상이 꺠져나옵니다..

Stephen Kyoungwon Kim@Google의 이미지

ssh -x가 아니라 -X나 -Y 중 하나여야 할 것 같구요. 동영상이 나오는 상태라는 건 GUI 창이 뜨고 그 안에서 동영상이 재생된다는 의미고, 깨진다는 건 GUI는 뜨는데 동영상은 시각적으로 이상하게 나온다는 뜻인가요?

저로서는 잘 이해가 안 되는데요. ssh일 경우에는 대충 이렇게 동작합니다. mplayer가 그래피컬하게 보여줄 내용을 X server에다 요청하고 X server가 실제로 연결된 장치(모니터 등)에 보여주는 일을 맡을 텐데요. 로컬로 mplayer를 실행할 경우(되는 경우), 단순히 mplayer가 X 요청을 X server로 보내고 X server가 그걸 처리해서 모니터를 통해 보여줍니다. mplayer를 ssh를 통해 원격으로 실행할 경우, ssh 서버는 mplayer가 있는 서버 컴퓨터에다 이를테면 가짜 X server를 띄웁니다. mplayer는 그 가짜 X server에 요청을 하게 되고 ssh 서버가 그걸 받아다가 ssh 채널을 통해 ssh client(윈도우즈 등)에 보내줍니다. 거기서 ssh client는 그 client가 돌아가는 플랫폼(윈도우즈 등) 상의 X server에 그 요청을, 마치 자기가 스스로 만들어낸 것처럼 전달해서 그 클라이언트 플랫폼에 연결된 장치(윈도우즈 머신의 모니터)에서 디스플레이가 됩니다.

위의 차이를 이해하시면 아마 문제를 좁히는 데 도움이 되실 겁니다.

mplayer 뿐만 아니라 다른 GUI도 비슷하게 동작하니 gedit으로 먼저 테스트 해보세요.

myiun20의 이미지

답변감사합니다. 일단 말씀하시는게 X11포워딩같은걸 말씀하시는거 같은데 그런게아닙니다! 저는 생각보다 간단한 문제입니다! 저는그냥 휴대폰안에 앱이있고 그 앱은 리눅스보드에 ./test.sh 라는 쉘스크립트 실행 명령만 내립니다. 그럼 리눅스보드는 그 명령을 받고 실행하는데 리눅스보드에 연결된 LCD에서 영상이 나오긴하는데 깨지거나 색이 다르거나 이상하게 나옵니다. !! 이것이 문제입니다! ㅠㅠ

myiun20의 이미지

추가적으로 LCD쪽 드라이버 문제는 아닌거같습니다.. 혼자 스스로 직접 터미널에서 ./test.sh를하면 동영상이 잘나오거든요..ㅠ

될라나?의 이미지

mplayer 앞에 DISPLAY:=0 붙여주세요. 그리고 mplayer보다 smplayer가 낫지 않나요?

$ ./Test.sh &

#!/bin/bash
DISPLAY:=0 mplayer $HOME/Test.mp4
myiun20의 이미지

말씀하신대로하니까 아예 영상이 안나오네요 ㅠㅠ

Stephen Kyoungwon Kim@Google의 이미지

터미널에서 (되는 환경에서) echo $DISPLAY 라고 해보세요. 그 값을 DISPLAY로 쓰셔야 됩니다.

디바이스 드라이버 문제일 것 같지는 않네요. 아마 X Server가 장비 설정을 잘못 받아들이는 것 아닐까요? mplayer 대신 되는 환경에서 xrandr --query를 하시고 한 번 비교해 보세요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.