우분투 마테의 종료 지연시간은 60초입니다. 이게 일반 PC용이면 큰 문제가 없겠지만 산업용 보드에서 이렇게 길게 대기를 할 수 없으므로 시간을 줄여봅시다. 1. 세션(Session) 타임아웃(Timeout) 지정 아래 명령어를 통해 세션 타임아웃을 지정해 줍니다. gsettings set org.mate.session logout-timeout [시간(초)] # 예 - 10초 gsettings set org.mate.session logout-timeout 10 2. 파일 수정(안됨) '/etc/systemd/sysyem.conf' 파일의 'DefaultTimeoutStopSec'를 수정해도 된다는데.... OS 버전 문제인지 저는 되지 않았습니다. (참고 : learnubuntumate.weebly...
부팅 시 실행시킬 셸 스크립트를 만들었는데...... 이게 창이 안 열리고 실행됩니다. 로그에는 실행됐다고 나오는데 이게 잘 돌아가고 있는 건지 만건지;;;; 그래서 새 터미널 창을 열어서 실행시키는 방법을 정리했습니다. 1. 기본 사용 방법 우분투 마테에서는 새 터미널 창을 여는 명령은 다음과 같습니다. mate-terminal -e [실행할 명령] # 예제 mate-terminal -e /home/odroid/CronTest.sh 2. 옵션 추가 옵션을 넣어 실행하려면 따옴표(')로 묶어야 합니다. mate-terminal -e '[실행할 명령]' # 예제 mate-terminal -e 'bash /CronTest.sh' 마무리 왜 리눅스 버전마다 터미널 여는 명령어가 약간씩 다른 걸까요...?
'Serial.read()'로 읽어서 쓸 때는 이런 현상이 없습니다. 그런데 'Serial.readBytesUntil()'를 사용하여 데이터를 읽었더니 1초 정도 반응이 느린 듯한 느낌을 받았습니다. 아래 스크린샷을 보면 연속으로 명령을 보냈는데 묘하게 다음 요청의 응답이 오는데 1초가량의 텀이 있는 것 처럼 보입니다. 문제없는 스크린샷을 보면 좀 더 명확해집니다. 이건 각 명령어의 텀이 없습니다. 1. 원인 문서를 확인해 보았습니다. arduino reference - Serial.readBytesUntil() 문서에 보니 1) 결정된 길이를 읽거나(지정된 버퍼를 채울 때까지) 2) 지정된 시간이 초과하거거나( Serial.setTimeout() ) 3) 지정된 종결 문자가 올 때(함수별로 차이 있음)..
우분투(Ubuntu) 자동로그인 설정이 안 먹어서 오드로이드(Odroid)로 검색했더니 바로 나오네요...... 참고 : Odroid 영문 포럼 - Activating Autologin 우분투와 설정이 다른데... 우분투 마테(Ubuntu MATE)의 설정이 다른 거 같습니다. 1. 15.10 이전 버전 확인된 건 15.10 버전이지만 18버전 이전까지는 똑같지 않았을까 생각됩니다. 아래 파일을 열어 /usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf 아래 코드를 추가해 줍니다. autologin-user=odroid 2. 18.04 이후 버전 18.04 버전부터는 /usr/share/lightdm/lightdm.conf.d/50-ubuntu-m..
원인이 다양한 에러 중의 하나가 500.30 에러입니다. 500에러가 대부분 그렇지만 일단 '이벤트 뷰어'로 상세한 정보가 있는지 확인해야 합니다. 이 포스팅은 다른 원인을 발견할 때마다 추가하고 있습니다. 1. 디렉터리 없음 루트 디렉터리를 찾지 못해 발생하는 오류입니다. exception code = '0xe0434352'. System.IO.DirectoryNotFoundException ASP.NET의 경우 'wwwroot'가 기본 폴더인데 이게 없을 때 주로 발생합니다. (만약 루트 디렉터리를 변경했다면 변경한 디렉터리가 없으면 에러가 납니다.) 위 스크린샷의 경우 루트디렉터리가 'wwwroot\production-home'인데 이것을 안 만들어서 이 에러가 발생했습니다. 2. SQL 서버 연결..
닷넷은 사운드 처리가 개떡 같습니다. 'SoundPlayer'는 멀티플랫폼에서 동작하지 않습니다. 이 꼬라지인 이유를 아직도 모르겠습니다... (최소한 기본 구현은 있어야 하는 게 아닌지....) 특히 크로스 플랫폼 작업 시 선택지가 애매해지는데...... 그나마 쓸 수 있는 가벼운 라이브러리인 'NetCoreAudio'를 소개합니다. 1. 'NetCoreAudio' 특징 이 라이브러리는 여러 플랫폼에 사용할 수 있습니다. 단점은 기본 사운드 API인 'SoundPlayer'처럼 한 번에 하나뿐이 재생을 못 합니다. 자세한 분석은 '3. 분석'에서 하겠습니다. 2. 설치 및 사용 누겟(NuGet)에서 'NetCoreAudio'를 찾아 설치해 줍니다. 간단한 예제 기본 예제는 잘되어 있습니다. 참고 : g..
그냥 정리하고 만다. 검색하면 바로 나오는 내용이라 신경을 안쓰고 있었는데.... 비주얼 스튜디오를 업데이트했더니 또 지멋대로 옵션이 초기화됐습니다.-_-;;;; 백업한걸 복구했는데도 이 옵션을 꺼져있네요;;;; 그래서 그냥 정리해 둡니다. 옵션 위치 비주얼 스튜디오에서 한번 클릭으로 파일이 열리는 기능이 있습니다. (기본 옵션에 활성화 되어있습니다.) 이게 파일 선택할 때마다 미리보기로 열리는 것이라 불편합니다. 이걸 더블클릭으로만 열리게 하려면 도구 > 옵션 > 환경 > 탭 및 창 > 미리 보기 탭 에서 "미리 보기 탭에서 새 파일을 열 수 있음" 옵션을 꺼준다. 마무리 전 이 기능 불편해서 매번 끄는데 왜 디폴트로 있는지 잘 모르겠습니다. 비주얼 스튜디오를 업데이트하기 전에 옵션 백업 꼭해두시기 바..
'System.InvalidOperationException'에러는 이미 'SocketAsyncEventArgs'개체가 사용 중인 경우 발생합니다. 1. 원인 분석 이 라이브러리로 만든 프로그램이 몇 개인데 이런 에러가 있었다고?? 라는 생각을 하며 클라이언트의 상세 로그를 봤더니..... 강조된 로그가 3줄인데 첫 줄과 마지막 줄은 각각 다른 요청입니다. 첫 번째 줄은 주기적으로 서버에 보내는 내용이고 세 번째 줄은 사람이 직접 서버에 요청하는 내용입니다.... 우연의 결과로 밀리초까지 일치해버린것입니다!!!!!! 같은 증상으로 죽어버린 다른 클라이언트의 로그도 동일합니다. (아래 로그) 동시에 하나의 'SocketAsyncEventArgs' 개체를 사용하여 보내기(Send)를 하려고 해서 발생한 오류..
윈도우에서 잘 쓰던 NFC 카드 라이브러리를 리눅스로 포팅했는데 다음과 같은 에러가 났습니다. Unhandled exception. PCSC.Exceptions.NoServiceException: The Smart card resource manager is not running. 1. 원인 'PC/SC Smart Card Daemon'이 설치되 있지 않아서 나는 오류입니다. (참고 : ubuntu manuals - pcscd.8 ) 윈도우는 기본 설치되어 있지만 리눅스는 사용하는 이미지에 따라 다릅니다. 설치가 되어있는지 확인해 봅시다. 아래 명령어를 입력하면 설치된 버전이 나옵니다. pcscd -v 설치가 돼있다면 아래 명령어로 데몬이 동작 중인지 확인할 수 있습니다. sudo service pcsc..
17.6 버전부터 기본으로 지원하도록 기능이 생겼습니다. (참고 : MS Learn - 옵션 대화 상자: 텍스트 편집기 > 일반 - 중괄호 쌍 색 지정 사용 ) 1. 활성화 방법 도구 > 옵션 > 텍스트 편집기 > 일반 > 표시 에서 'Enable brace pair colorization(중괄호 쌍 색 지정 사용)' 옵션을 활성화해 줍니다. 2. 이전 방식 예전에는 'Rainbow Braces' 같은 확장 프로그램을 썼었습니다. 여전히 기능 면에서는 확장 프로그램들이 좋습니다. 마무리 이거 기능 넣어달라고 엄청 오래전부터 요청이 있던 건데 이제 추가해 줬네요ㅋㅋㅋㅋ 색 바꾸는 옵션 같은 건 아직 꿈도 못 꿀 듯 합니다. 확장 프로그램이 잘돼 있어서 그런가 이제야 선심 쓰듯이 추가됐다는게..... 'VS..