이번에 닥친일은 ethaddr 중 특정 부분을 추출하는 일인데
sed를 써야 하나? shell에서 해야 하나? 이래저래 테스트 하는데..

sh 에서는.. busybox의 ash 라서 그런지 $(string:n:m) 방식의 추출이 되지 않았고
유일하게 되는게 $(string#substr) 로 일치하는 스트링을 삭제하는 것 뿐이었다.
그리고 sed는 .. 라인단위로 하다 보니. 일치하는 문자만을 삭제하려니.. OTL

그런 이유로 tr이라는 녀석이 걸려 나오게 되었다.
tr은 translate or delete characters 라는데.. 도대체 r은 어디서 튀어 나온 녀석일까 ㄱ-




아무튼, uboot 에서 사용하는 예약어인 ethaddr 에서 MAC 부분을 추출하려고 하면
fw_printenv 와 쉘 그리고 tr을 조합하면 된다.

일단 fw_printenv의 값은
 ethaddr=00:00:00:00:00:00
으로 출력되고 이 값을 변수에 넣어준다.

ETH_TEMP=`fw_printenv ethaddr`
ETH_ADDR=echo ${ETH_TEMP#ethaddr=} | tr -d :

그러면 간단하게 ethaddr= 뒤의 MAC 어드레스가 : 없이 나오게 된다.


[링크 : http://k.daum.net/qna/view.html?qid=2f8nN&l_cid=Q&l_st=1] tr
[링크 : http://linux.die.net/man/1/tr] tr man page
[링크 : http://www.faqs.org/docs/abs/HTML/string-manipulation.html]  sh 에서 스트링
[링크 : http://www.ibm.com/developerworks/kr/library/l-sed1.html]      sed 사용법
Posted by 구차니
XP에서는 윈도98에서 설정하던 공유폴더의 암호 메뉴가 없습니다 네트워크 사용자를
인증하는데 사용자가 서버와 아이디만 같으면 인증이 됩니다 많이 허술하지요.

XP홈의 경우는 네트워크 사용자를 Guest로 인증하기에 Guset에 암호를 설정해줍니다
아래와같이 해주면 다음부터 사용자계정에 Guest의 암호변경 및 제거 메뉴가 생깁니다
그리고 네트워크에서 공유폴더에 접근하면 암호를 묻게 됩니다

[링크 : http://manian.paran.com/?mid=B0204004&page=8&document_srl=1081380]

흐음.. 그래도 삼바에서 기본계정 guest, 패스워드 없음으로 해도..
왜 윈도우에서 접속할때 계정/암호를 물어볼까?
Posted by 구차니






nmbd와 smbd가 사용하는 파일들은 주로
/usr/local/samba/var 와
/usr/local/samba/private에 집중되어 있다. (물론 그렇게 구조를 잡았으니 -ㅁ-)

Posted by 구차니
프로그램 사용2009. 11. 13. 17:50

open source / LGPL 기반의 프로그램이며 콘솔 기반의 windows binary를 제공한다.

Source code license

This code is "open source", and is released under the LGPL. This allows you to use these libraries (via linking) inside closed-source products. It also allows you to make closed-source binary extensions to these libraries - for instance, to support proprietary media codecs that subclass the existing "liveMedia" class hierarchy. Nonetheless, we hope that subclass extensions of these libraries will also be developed under the LGPL, and contributed for inclusion here. We encourage developers to contribute to the development and enhancement of these libraries.


The "LIVE555 Media Server" is a complete RTSP server application. It can stream several kinds of media file (which must be stored in the current working directory - i.e., the directory from which you launch the application.):
  • A MPEG Transport Stream file (with file name suffix ".ts")
  • A MPEG-1 or 2 Program Stream file (with file name suffix ".mpg")
  • A MPEG-4 Video Elementary Stream file (with file name suffix ".m4e")
  • A MPEG-1 or 2 (including layer III - i.e., 'MP3') audio file (with file name suffix ".mp3")
  • A WAV (PCM) audio file (with file name suffix ".wav")
  • An AMR audio file (with file name suffix ".amr")
  • An AAC (ADTS format) audio file (with file name suffix ".aac")

[링크 : http://live555.com/]
Posted by 구차니
프로그램 사용/synergy2009. 11. 13. 17:02

이 녀석은 컴퓨터에 개별 모니터는 있어야 하지만,
키보드/마우스를 없애는데 사용할 수 있는 프로그램이다.

즉, KVM 에서 V가 빠진, KM 프로그램이라고 보면된다.
(최소한 본체별로 모니터는 하나씩 있어야 한다.)


서버는 키보드/마우스가 설치되어, 제어용으로 사용할 컴퓨터이며
클라이언트는 키보드/마우스 없이 모니터만 있는 제어를 당할 컴퓨터들이다.

클라이언트 설정

Step 1. 클라이언트는 서버에 비하면 설정할 내용은 많지 않다.
           단순하게 Other Computer's Host Name:서버의 이름을 넣어주면 된다.



서버설정
Step 1. 서버는 서버답게(ㄱ-) 설정할 내용이 많다.


일단 서버의 이름을 확인하기 위해 Options 의
버튼을 클릭한다.


"Advanced..." 를 클릭하면 위와 같은 화면이 나오고, 별다른 것은 설정할것 없이
아.. 서버 이름"Screen Name:" 에 나오는 구나.. 라고 외워두면 된다.
(Screen Name: 위에 써있는 내용 - 시너지는 일반적으로 컴퓨터의 이름을 화면 이름으로 사용한다)


Step 2. 본격적인 서버의 설정은 Share this computer's keyboard and mouse(server) 라고 쓰여진 부분을 클릭한뒤
           활성화 되는 Configure 내부에서 하면된다.


중앙의
버튼을 클릭!


활성화 되는 "Configure..."를 누르면 위와 같이 "Screens & Links" 창이 뜨게 된다.
이 화면에서는 스크린을 등록하고, 스크린의 위치 배열을 설정한다.

일단 위의 Screens: 에
버튼을 클릭하면 아래의 Add Screen이 뜨게 되며
Screen Name: 에 일단 아까 확인한 서버의 이름을 추가해준다.
Aliases: 는 추가항목으로 입력하지 않아도 상관없다.

추가된 내용은
버튼을 클릭하면 되며,
아래의 Add와 유사하게 생긴 Edit Screen [screen name] 창이 열리게 된다.



Screen을 추가했으면 이제 Link를 추가해야 한다.
Link는 모니터의 위치를 추가하는 것인데
서버에서 클라이언트의 설정도 같이 해주어야 하기 때문에
"서버기준 클라이언트의 위치 + 클라이언트 기준 서버의 위치"를 설정해야 한다.

문제는.. 아래의 입력방법이 매우 헷갈리기 쉽다는 것이다.
.. of the [방향] of [기준 모니터] goes to ... of [목표 모니터] 인데
엄밀하게는 PC가 기준이 아니라 모니터를 기준으로 연결점을 만들어 주어야 한다는 점이다.

예를 들어 두개의 모니터를 사용하고(서버/클라이언트), 클라이언트가 왼쪽에 있다고 하면,

[서버 모니터]를 기준으로 서버의 모니터 [왼쪽]에 [클라이언트 모니터]를 연결하고
[클라이언트 모니터]를 기준으로 클라이언트 모니터 [오른쪽]에 [서버 모니터]를 연결한다


위의 화면은 클라이언트의 모니터에서 서버로 넘어가는 방향을 설정한 것이다

[클라이언트 모니터]를 기준으로 클라이언트 모니터 [오른쪽]에 [서버 모니터]를 연결한다
의 내용으로, [right] of [클라이언트 모니터] goes to [서버 모니터]로 입력해준다.


위의 화면은 서버에서 클라이언트로 넘어가는 방향을 설정한 것이다.

[서버 모니터]를 기준으로 서버의 모니터 [왼쪽]에 [클라이언트 모니터]를 연결한다
의 내용으로, [left] of [서버 모니터] goes to [클라이언트 모니터]로 입력해준다.

Step 3. 일단 서버 프로그램을 실행하기 위해서는 외부에서 접속을 할 수 있어야 한다.
           이를 위해서는, 서버를 구동하는 PC의 네트워크 에서 Synergy가 사용하는 포트를 열어주어야 한다.
           기본값으로는 24800 포트를 사용하므로, 네트워크 설정 - 방화벽에서 예외로 24800 TCP를 추가해준다.


여기까지는 다들 들어 갈수있을 것으로 굳게 믿고


예외 탭에서, 포트 추가를 눌러준다.


이름은 임의로 적어주고, 포트 번호는 24800 그리고 아래의 프로토콜은 TCP로 해준다.


Step 4. 서버에서
을 누르면 서버가 시작되며, 클라이언트로 가서
을 누르면 서버에 접속한다.
           클라이언트가 몇번 접속을 시도하지 않기 때문에, 서버를 먼저 켜놓고, 클라이언트를 켜야 바로 접속을 한다.
           (접속 못할 경우 5초 간격으로 3번 정도 시도 후, 시간을 늘려가며 접속을 시도하긴 한다.)

[공식 : http://synergy2.sourceforge.net/]
[참고 : http://cdmanii.com/193]

[패치 : http://mabook.com/blog/23]
[패치 : http://magoja.tistory.com/242] 한글패치


2010.02.08 추가
한가지 아쉬운 점은, compiz 와 같이 화면 경계 이상으로 커서를 이동시켜야 하는 경우에는 오작동을 한다는 점이다.
예를 들어,compiz cube 상황에서 원래대로라면 360도 무한으로 뱅글뱅글 돌릴수 있어야 하지만
synergy를 통해서는 중앙에서 시작하면 커서가 우측끝까지나 좌측끝까지 이동하는 만큼만 인식을 할 수 있다.
(즉, 무한으로 뱅글뱅글 돌리지 못하고, 한페이지 도 시작 위치에 따라서는 못돌릴수도 있다.)

2010.02.22 추가
여러PC에 개별 키보드/마우스가 있을 경우
서버의 마우스가 위치 하지 않는 곳에서 다른 키보드/마우스로 copy 시에
다른 클라이언트들에게로 내용이 복사 되지 않음.
(예를 들어 A가 서버이고 B 의 키보드로 복사했고 마우스는 A에 있을 경우, B의 내용이 A로 붙여지지 않음)

'프로그램 사용 > synergy' 카테고리의 다른 글

barrier on ubuntu 22.04 실패!  (2) 2023.06.15
synergyc - synergy client for linux  (2) 2010.03.20
시너지 (Synergy) for linux  (4) 2010.01.15
Posted by 구차니
프로그램 사용/VLC2009. 11. 12. 17:53



Ctrl - H로 토글하거나
위의 메뉴에서 처럼 "Minimal View" - "최소 보기" 로 토글 가능함
Posted by 구차니
[2009/11/11 08:17:07,  0] lib/util_sock.c:730(write_data)
[2009/11/11 08:17:07,  0] lib/util_sock.c:1468(get_peer_addr_internal)
  getpeername failed. Error was Transport endpoint is not connected
  write_data: write failure in writing to client 0.0.0.0. Error Transport endpoint is not connected
[2009/11/11 08:17:07,  0] smbd/process.c:62(srv_send_smb)
  Error writing 4 bytes to client. -1. (Transport endpoint is not connected)
위와 같은 에러가 발생한다면

/usr/local/samba/lib/smb.conf 파일에
smb ports = 139 를 넣어주면 해결이 된다고 한다.

These are generally innocuous. Windows XP will try to connect on both ports 139 and 445. Once an XP client connects on one of these ports, it silently drops the other. If you want to get rid of the error in your log, or just verify my answer, add the following parameter to the Global Section of /etc/samba/smb.conf , then restart samba.

[링크 : http://forums.opensuse.org/network-internet/413860-errors-log-smbd.html]

[링크 : http://threebit.net/mail-archive/samba/msg01516.html]
Posted by 구차니
I found a workaround which involves disabling Opportunistic Locking. This will have a small performance impact, but at least the thing wont hang up and use 100% CPU for no goddamn reason. Yes, this article has an angry tone, because this issue has eaten way too much of my time today.

To disable Opportunistic Locking, you have to set the contents of the file “/proc/fs/cifs/OplockEnabled” to 0. This file only exists after the cifs module has been loaded, and will be replaced if the module is unloaded and reloaded. Thus, I configured my /etc/rc.local script (use whatever equivalent your distro has to a startup script) to both load the cifs module and set the contents of said file:

# cifs client workaround
modprobe cifs
echo 0 > /proc/fs/cifs/OplockEnabled

[링크 : http://blog.dhampir.no/content/cifs-vfs-no-response-for-cmd-n-mid]

이 문서 앞부분에 나열한 Windows 운영 체제 중 하나를 실행하는 SMB(서버 메시지 블록) 클라이언트에서는 oplocks(Opportunistic Locking)가 기본적으로 설정됩니다. oplocks를 통해 클라이언트는 파일을 잠가 다른 사용자가 파일을 변경하는 위험 없이 로컬로 정보를 캐시할 수 있습니다. 이 경우 대부분의 파일 작업에서 성능이 향상되지만, 다른 사용자가 해당 파일에 대한 액세스를 요청할 때 oplocks를 부여하는 서버에서 해당 잠금의 위반을 관리해야 하기 때문에 일부 작업에서는 성능이 저하될 수도 있습니다.

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MRXSmb\Parameters\
OplocksDisabled REG_DWORD 0 또는 1
기본값: 0(해제되지 않음)

참고 OplocksDisabled 레지스트리 값은 원격 파일에 대해 oplocks를 요청하거나 요청하지 않도록 Windows 클라이언트를 구성합니다.

[링크 : http://support.microsoft.com/kb/296264]



 CIFS VFS: No response to cmd 46 mid 21391
 CIFS VFS: Send error in read = -11
 CIFS VFS: No response to cmd 47 mid 21392
 CIFS VFS: Write2 ret -11, written = 0
 CIFS VFS: Write2 ret -9, written = 0   

CIFS로 samba 를 공유해서 사용할때 이러한 에러가 발생을 하면서 삼바서버에 파일을 장시간 쓰지 못하는 문제가 있다.
위의 방법으로 바꾸고 해봐도 그리 차이는 없어 보이는데 흐음..
Posted by 구차니
# more /usr/local/samba/var/log.smbd
[2009/11/08 23:55:51,  0] lib/util_sec.c:assert_gid(113)
Failed to set gid privileges to (-1,65534) now set to (0,0) uid=(0,0)

위와 같은 에러가 발생하는 것은,
User ID / Group ID 설정상의 문제로 생각이 된다.

해결 방법은
좀.. 미심쩍지만

# vi /usr/local/samba/lib/smb.conf
[global]
guest account = root

[링크 : http://archives.devshed.com/forums/samba-120/panic-failed-to-set-gid-on-mipsel-1742988.html]



20091111 추가
Failed to set gid privileges to (-1,65534) now set to (0,0) uid=(0,0)

한글로 번역하자면,
현재 gid (0,0) uid (0,0)으로 설정되어 있는데 (-1,65534) 로 gid 권한을 설정하는데 실패를 했다는 의미이다.
현재 gid = 0, uid = 0 이고 이것은 일반적인 unix 시스템에서 root의 uid / gid 값이다.
그런 이유로, guest account 를 root로 했을시에 위와 같은 에러가 발생하지 않는 것으로 생각된다.
Posted by 구차니
# more /usr/local/samba/var/log.smbd
[2009/11/08 23:55:51,  0] smbd/service.c:1005(make_connection_snum)
  '/tmp' does not exist or permission denied when connecting to [IPC$] Error was No such file or directory

log.smbd 에서 위와 같은 에러가 발생되고,
/usr/local/samba/var/cores/smbd/core 파일이 생성되며,
smbtree 실행시에는 "failed tcon_X with NT_STATUS_BAD_NETWORK_NAME" 에러가 발생을 한다.

위의 에러는 간단하게 /tmp 디렉토리를 생성하거나, 퍼미션을 수정하면 해결된다.
# mkdir /tmp


20091117 추가
MTD에서 작동 시킬경우 tmp는 굳이 writable 하지 않아도 된다.
Posted by 구차니