'정보기술'에 해당되는 글 443건

  1. 2017.04.03 Sublime Text 에서 한글 깨짐 및 자소 분리 문제 해결
  2. 2016.02.15 Windows 10 에서 한글 시스템 글꼴 굴림체를 맑은 고딕으로 변경하는 방법 (1)
  3. 2015.07.31 별도의 소프트웨어 설치없이 OS X 시스템 한영 전환을 Shift + Space 단축키로 변경하는 방법
  4. 2015.07.02 Plex Home Theater 폰트 수정 방법
  5. 2014.10.11 DigitalOcean Ubuntu VPS 에서 OpenVPN Access Server 설정
  6. 2014.07.19 DigitalOcean Ubuntu VPS 에서 Squid Proxy Server 설정
  7. 2014.03.24 Mac OS X HiDPI 강제 활성화
  8. 2014.02.12 Change a Word field code into static text
  9. 2013.12.16 Subsonic 에서 Windows Network Drive의 폴더를 찾지 못하는 경우 문제 해결
  10. 2013.10.31 ReadyNAS Add-on 수동으로 설치하는 방법 (How to install Add-on manually)
  11. 2013.08.22 Apache 에서 WebDAV 설정하기 (Windows 환경에서)
  12. 2013.07.22 Dell U3014 모니터 Mac OSX 에서 sharpening or contrast enhancement 문제 해결
  13. 2013.02.13 How to add or delete static routes
  14. 2013.02.07 OpenVPN 을 이용한 Traffic 우회 방법
  15. 2012.12.18 KakaoTalk Database Backup
  16. 2012.12.18 How to find URL Scheme from .ipa file
  17. 2012.12.13 How to build CyanogenMod 10 (Jellybean) for Samsung Galaxy S III (Sprint) SPH-L710
  18. 2012.12.10 iOS 패스북(Passbook)의 맴버쉽카드를 생성해주는 서비스
  19. 2012.12.09 VMware 가상머신에서 민원24 프린트 하기
  20. 2012.12.06 OS X 메일 프로그램에 메일 보낸 사람 프로필 사진 띄우기

Mac OS 에서 Sublime Text 사용 중 한글 깨짐 (엔코딩 문제) 또는 자소 분리 문제 해결 방법


: 아래 package를 설치한다. 



Package Control 설치 방법


http://webdir.tistory.com/396




Package Control 설치


서브라임 텍스트는 플러그인들을 관리해주는 도구로 Package Control를 제공하고 있는데, 이를 이용해 손쉽게 플러그인들을 설치 및 제거, 업데이트를 할 수 있다. 서브라임 버전별로 다른 방법이 사용됨.


서브라임 텍스트3의 경우 Sublime Text3 Package Control의 코드를 복사한다.

서브라임 텍스트2의 경우 Sublime Text2 Package Control의 코드를 복사한다.

서브라임 텍스트를 실행하고, Ctrl + `로 콘솔을 불러온다.

복사한 내용을 붙여넣고 엔터를 누른다.



Package 설치


설치를 원하는 플러그인들을 찾아봐야 하는데 https://packagecontrol.io/browse에서 둘러본 후, 설치해도 되고 Sublime Text 플러그인으로 검색해서 원하는 플러그인을 찾아봐도 된다.


기본적인 설치 방법은 아래와 같다.


서브라임 텍스트를 실행한 후, 단축키 Command+Shift+P로 Command Palette를 불러온다.

install을 입력하면 자동완성되는 Package Control: Install Package를 선택하고 엔터를 누른다.

설치를 원하는 플러그인의 이름으로 검색하여 선택한 후, 엔터를 눌러 설치한다.



Package 설치 리스트


서브라임 텍스트를 실행한 후, 단축키 Command+Shift+P로 Command Palette를 불러온다.

list 입력하고 자동완성되는 Package Control: List Package를 선택하고 엔터를 누른다.

설치된 플러그인들이 나열된다.




Package 삭제


서브라임 텍스트를 실행한 후, 단축키 Command+Shift+P로 Command Palette를 불러온다.

remove를 입력하고 자동완성되는 Package Control: Remove Package를 선택하고 엔터를 누른다..

설치된 플러그인들이 리스팅되면 삭제할 것을 선택하고 엔터를 누른다.






한글 깨짐 (EUC-KR 엔코딩 깨지는 경우 해결)




엔코딩 (코덱이 없다고 나올 경우에만 설치하면 됨)




한글 자소 분리 (붙여넣기 시 한글 자소 분리되는 문제 해결)


Posted by fermi

댓글을 달아 주세요

출처: http://www.clien.net/cs2/bbs/board.php?bo_table=lecture&wr_id=281997


모든 앱 > Windows 시스템 > 실행을 눌러 regedit 소환


[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts]

Gulim & GulimChe & Dotum & DotumChe 부분을 공란 또는 malgun.ttf 로 바꿉니다 (기본값 gulim.ttc)

 

-> 기대효과

굴림 굴림체 돋움 돋움체에 해당되는 폰트가 지정되지 않았기 때문에 프로그램이 호출할 경우 후순위인 맑은 고딕으로 출력됩니다

 


Posted by fermi

댓글을 달아 주세요

  1. 이정훈 2016.04.17 02:52 Address Modify/Delete Reply

    날군 되시나요? 슬라럼 동영상 올리시던? 그때 정말 잘봤습니다. ^^ 클릭비 드리밍 이 BGM으로 나오던 영상이 생각나네요.

출처: http://macnews.tistory.com/297


Finder를 실행시키고 Command + Shift + G 키를 눌러서 ~/Library/Preferences/com.apple.symbolichotkeys.plist 위치의 파일을 열어서 (TextWrangler)  AppleSymbolicHotKeys > 61 > value > parameters > item 2 항목을 131072 로 수정.


<key>61</key>

<dict>

<key>enabled</key>

<true/>

<key>value</key>

<dict>

<key>parameters</key>

<array>

<integer>32</integer>

<integer>49</integer>

<integer>131072</integer>

</array>

<key>type</key>

<string>standard</string>

</dict>

</dict>




Posted by fermi

댓글을 달아 주세요

Plex Home Theater (https://plex.tv/downloads) 는 XBMC 기반의 Plex 클라이언트로 미려한 인터페이스를 제공하지만 한글 폰트가 그다지 미려하지 못하다.


Preference 메뉴를 통하여 subtitle 폰트를 지정할 수 있도록 되어 있으나, 기본적으로 설치되어 있는 세 가지 폰트 중에서 선택하는 것 만이 가능할 뿐 원하는 한글 폰트를 지정할 수 없다.


수동으로 폰트를 수정하고 싶다면 편법으로 아래와 같이 수정이 가능하다.



1. 자막폰트 수정 방법


/Applications/Plex Home Theater.app/Contents/Resources/XBMC/media/Fonts/ 폴더에 원하는 폰트를 복사해 넣는다. (.ttf 만 가능)


Plex Home Theater 메뉴의 Preference 에서 Subtitle 폰트를 선택한다.


ex: Mac OS X 에 기본 탑재된 서체인 NanumGothic.ttc 파일을 확장자만 ttf 로 바꾸어서 복사해 넣는다. (ex: nanumgothic.ttf)


2. UI 폰트 수정 방법


/Applications/Plex Home Theater.app/Contents/Resources/XBMC/addons/skin.plex/720p/Font.xml 의 내용을 원하는 폰트파일 이름으로 바꿈.


기본적으로 regular 와 bold 를 구분하고 있기 때문에, regular / bold 폰트가 각각의 파일로 되어 있는 폰트를 적용하는 것을 추천한다.


ex: Mac OS X 의 기본 서체인 AppleSDGothicNeo-Regular.otf 와 AppleSDGothicNeo-Bold.otf 를 적용하는 경우...


<?xml version="1.0"?>

<fonts>

<fontset id="Default" unicode="true">

<!--

NOTE:

in skin, search and replace:

1. Bold = Bold

2. Regular = Regular

   -->

<!-- Default -->

<font>

<name>DefaultFont</name>

<filename>AppleSDGothicNeo-Regular.otf</filename>

<size>18</size>

</font>

<!-- special cases -->

<!-- home screen info card plot -->

<font>

<name>HomePlot</name>

<filename>AppleSDGothicNeo-Regular.otf</filename>

<size>16</size>

<linespacing>1.1</linespacing>

</font>

<!-- home screen info card plot -->

<font>

<name>Plot</name>

<filename>AppleSDGothicNeo-Regular.otf</filename>

<size>18</size>

<linespacing>1.1</linespacing>

</font>

<!-- login form description -->

<font>

<name>PINdescription</name>

<filename>AppleSDGothicNeo-Regular.otf</filename>

<size>20</size>

<linespacing>1.2</linespacing>

</font>

<!-- Regular -->

<font>

<name>Regular-12</name>

<filename>AppleSDGothicNeo-Regular.otf</filename>

<size>12</size>

</font>

<font>

<name>Regular-13</name>

<filename>AppleSDGothicNeo-Regular.otf</filename>

<size>13</size>

</font>

<font>

<name>Regular-14</name>

<filename>AppleSDGothicNeo-Regular.otf</filename>

<size>14</size>

</font>

<font>

<name>Regular-16</name>

<filename>AppleSDGothicNeo-Regular.otf</filename>

<size>16</size>

</font>

<font>

<name>Regular-17</name>

<filename>AppleSDGothicNeo-Regular.otf</filename>

<size>17</size>

</font>

<font>

<name>Regular-18</name>

<filename>AppleSDGothicNeo-Regular.otf</filename>

<size>18</size>

</font>

<font>

<name>Regular-19</name>

<filename>AppleSDGothicNeo-Regular.otf</filename>

<size>19</size>

</font>

<font>

<name>Regular-20</name>

<filename>AppleSDGothicNeo-Regular.otf</filename>

<size>20</size>

</font>

<font>

<name>Regular-22</name>

<filename>AppleSDGothicNeo-Regular.otf</filename>

<size>22</size>

</font>

<font>

<name>Regular-24</name>

<filename>AppleSDGothicNeo-Regular.otf</filename>

<size>24</size>

</font>

<font>

<name>Regular-26</name>

<filename>AppleSDGothicNeo-Regular.otf</filename>

<size>26</size>

</font>

<font>

<name>Regular-28</name>

<filename>AppleSDGothicNeo-Regular.otf</filename>

<size>28</size>

</font>

<font>

<name>Regular-30</name>

<filename>AppleSDGothicNeo-Regular.otf</filename>

<size>30</size>

</font>

<font>

<name>Regular-32</name>

<filename>AppleSDGothicNeo-Regular.otf</filename>

<size>32</size>

</font>

<font>

<name>Regular-34</name>

<filename>AppleSDGothicNeo-Regular.otf</filename>

<size>34</size>

</font>

<!-- Bold -->

<font>

<name>Bold-10</name>

<filename>AppleSDGothicNeo-Bold.otf</filename>

<size>10</size>

</font>

<font>

<name>Bold-11</name>

<filename>AppleSDGothicNeo-Bold.otf</filename>

<size>11</size>

</font>

<font>

<name>Bold-12</name>

<filename>AppleSDGothicNeo-Bold.otf</filename>

<size>12</size>

</font>

<font>

<name>Bold-13</name>

<filename>AppleSDGothicNeo-Bold.otf</filename>

<size>13</size>

</font>

<font>

<name>Bold-14</name>

<filename>AppleSDGothicNeo-Bold.otf</filename>

<size>14</size>

</font>

<font>

<name>Bold-15</name>

<filename>AppleSDGothicNeo-Bold.otf</filename>

<size>15</size>

</font>

<font>

<name>Bold-16</name>

<filename>AppleSDGothicNeo-Bold.otf</filename>

<size>16</size>

</font>

<font>

<name>Bold-17</name>

<filename>AppleSDGothicNeo-Bold.otf</filename>

<size>17</size>

</font>

<font>

<name>Bold-18</name>

<filename>AppleSDGothicNeo-Bold.otf</filename>

<size>18</size>

</font>

<font>

<name>Bold-19</name>

<filename>AppleSDGothicNeo-Bold.otf</filename>

<size>19</size>

</font>

<font>

<name>Bold-20</name>

<filename>AppleSDGothicNeo-Bold.otf</filename>

<size>20</size>

</font>

<font>

<name>Bold-22</name>

<filename>AppleSDGothicNeo-Bold.otf</filename>

<size>22</size>

</font>

<font>

<name>Bold-24</name>

<filename>AppleSDGothicNeo-Bold.otf</filename>

<size>24</size>

</font>

<font>

<name>Bold-26</name>

<filename>AppleSDGothicNeo-Bold.otf</filename>

<size>26</size>

</font>

<font>

<name>Bold-28</name>

<filename>AppleSDGothicNeo-Bold.otf</filename>

<size>28</size>

</font>

<font>

<name>Bold-30</name>

<filename>AppleSDGothicNeo-Bold.otf</filename>

<size>30</size>

</font>

<font>

<name>Bold-32</name>

<filename>AppleSDGothicNeo-Bold.otf</filename>

<size>32</size>

</font>

<font>

<name>Bold-34</name>

<filename>AppleSDGothicNeo-Bold.otf</filename>

<size>34</size>

</font>

<font>

<name>Bold-36</name>

<filename>AppleSDGothicNeo-Bold.otf</filename>

<size>36</size>

</font>

<font>

<name>Bold-42</name>

<filename>AppleSDGothicNeo-Bold.otf</filename>

<size>42</size>

</font>

<font>

<name>Bold-48</name>

<filename>AppleSDGothicNeo-Bold.otf</filename>

<size>48</size>

</font>

<font>

<name>Bold-52</name>

<filename>AppleSDGothicNeo-Bold.otf</filename>

<size>52</size>

</font>

<font>

<name>Bold-124</name>

<filename>AppleSDGothicNeo-Bold.otf</filename>

<size>124</size>

</font>

</fontset>

</fonts>


Posted by fermi

댓글을 달아 주세요

참고: https://www.digitalocean.com/community/tutorials/how-to-install-openvpn-access-server-on-ubuntu-12-04


참고: https://docs.openvpn.net/access-server/


Software Packages


https://openvpn.net/index.php/access-server/download-openvpn-as-sw/113.html?osfamily=Ubuntu


Installing OpenVPN Acess Server


Let's begin by logging in as the root user. From here, download the OpenVPN AS package:


sudo wget http://swupdate.openvpn.org/as/openvpn-as-2.0.7-Ubuntu12.amd_64.deb


The above link is for 64-bit cloud servers since that is what we've decided to use. If by any chance you're using a 32-bit version, the download link would be:


sudo wget http://swupdate.openvpn.org/as/openvpn-as-2.0.7-Ubuntu12.i386.deb


To install OpenVPN AS, enter the following command:


dpkg -i openvpn-as-2.0.7-Ubuntu12.amd_64.deb 


If you are using a 32-bit cloud server, enter the following command instead:


dpkg -i openvpn-as-2.0.7-Ubuntu12.i386.deb


That's it. OpenVPN AS is now installed. However, there are still some things left to do before we can use it. During the installation, OpenVPN has created a default admin user called 'openvpn'. We need to set a password for 'openvpn'. To do that, enter the following command:


sudo passwd openvpn


You'll be prompted to enter your desired password. Make sure your password is secure.


Administration and Client Software Setup


OpenVPN AS web interfaces can be found at:


Admin  UI: https://YourIpAddress:943/admin

Client UI: https://YourIPAddress:943/


Replace "YourIPAddress" with your actual cloud server's IP address. Then, head over to the Client UI to use the access server. You'll see a big bad security warning. But don't be alarmed, it is perfectly okay since we've self-signed our server's SSL. Ignore the warning and click Ok/Proceed and you'll be prompted for username and password. Enter 'openvpn' as the username and the password should be what you've set for 'openvpn' before. 


설정결과 설정파일 위치


/etc/init.d/openvpnas


사용자 account 추가


참고: https://openvpn.net/index.php/access-server/docs/admin-guides/216-how-to-add-users-to-your-openvpn-access-server.html


sudo

adduser examleuser

passwd exampleuser


If you would like to set OpenVPN-AS Specific User Permissions; for example: Administrator, AutoLogin, VPN IP Address etc you will need to login to the OpenVPN-AS Admin UI (https://x.x.x.x:943/admin) with an Administrator account and navigate over to the User Permissions page:


Using DD-WRT with OpenVPN Access Server


참고: https://docs.openvpn.net/frequently-asked-questions/using-dd-wrt-with-openvpn-access-server/


Creating and Downloading the Autologin Profile


To create and download the autologin profile for your DD-WRT router, visit the User Permissions area, create an appropriate username for the DD-WRT OpenVPN client, and then check the Allow Auto-login checkbox. Click the Update Running Server button to make sure the changes take effect.



TLS Cipher 

AES-256 SHA 로 설정 한 후 Status의 OpenVPN Log 에서 TLS plain text error (?) 가 있어서 AES-128 SHA 로 수정함

Posted by fermi

댓글을 달아 주세요

Step 1. Install squid

apt-get install squid


Step 2. Configuration

cp /etc/squid3/squid.conf /etc/squid3/squid.conf.original   # 일단 설정백업


squid.conf 수정


Authentication

auth_param basic program /usr/lib/squid3/basic_pam_auth    # basic_pam_auth 이용

auth_param basic children 5 startup=5 idle=1

auth_param basic realm Squid proxy-caching web server

auth_param basic credentialsttl 2 hours

basic_pam_auth 를 이용하면 unix 시스템 어카운트를 그대로 이용한다.


Defining an Access List

acl pam proxy_auth REQUIRED

pam 이라는 access list 를 정의

acl SSL_ports port 443 가 시작되는 부분 앞에 적용


Allowing Access List

http_access allow pam

위에서 정의한 pam 의 access 를 허용

http_access deny !Safe_ports 가 시작되는 부분 앞에 적용


Step 4. Permission

chmod u+s /usr/lib/squid3/basic_pam_auth

시스템 어카운트로 로그인이 안되면 permission 문제일 가능성이 큼

basic_pam_auth 의 permission 에 s 를 추가하여 아래와 같도록 변경

-rwsr-xr-x  1 root root 14320 Feb 17 22:21 basic_pam_auth


Step 5. Restart

sudo service squid3 restart                                      # 재시작


Step 6. Client 설정
기본 포트번호는 3128


Posted by fermi

댓글을 달아 주세요

Terminal 에서 다음 명령어 


sudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool YES



출처: https://apple.stackexchange.com/questions/45716/how-to-increase-the-size-of-the-os-x-user-interface-without-lowering-the-resolut/45719#45719

Posted by fermi
TAG apple, HiDPI, MAC, OS x

댓글을 달아 주세요

Change a Word field into static text


Field codes make it easy to update document information that’s subject to change. For instance, if you insert a Date field in your document, the field results display the current date each time you update the field. Sometimes, however, you may want to prevent a field’s results from being updated. For instance, you may reach a point where you no longer want the date displayed by your Date field to change.


One way to do so is to lock the field by selecting it and pressing [Ctrl][F11]. Locking a field preserves the field code but prevents the field results from being updated. You can then unlock the field by selecting it and pressing [Ctrl][Shift][F11]. However, what if you want to get rid of the field code without deleting the field’s results? This little-known technique is known as unlinking a field. To unlink a field, select the field and then press [Ctrl][Shift][F9]. As an alternative, press [Ctrl]6. Word unlinks the field by removing the field code and displaying the field’s results as static document text.


출처: http://www.softwaretipspalace.com/change-a-word-field-into-static-text


For a nice general overview of fields in Word, see here.

Word’s fields depend heavily on the F9 key. However, in Mac OS X, the system has commandeered the F9 key for Exposé. As a result, it can be a little annoying to deal with fields, and Word Help in Office 2004 only gives mouse commands, not keyboard shortcuts, for commands that would usually involve F9.
You can get around this. You can reset Exposé in System Preferences to use a different set of keys, hot corners, or mouse-click commands. Or you can dig the Word commands out of Tools>Customize (look under “All Commands”), and put them on a toolbar or assign a different keyboard shortcut. You can also access many commands by right-clicking or control-clicking on a field.
Note one difference between WinWord and MacWord: In MacWord, F9 updates all fields, including those in the header and footer. Although right-click Update Field (cmd-shift-option-U) appears to offer to only update one field, it updates them all. In WinWord, F9 only updates selected fields, or the field with the cursor in it, and will not update fields in the header/footer unless the cursor is there.

Action

Name Under “All Commands”

Mac Keys

Win Keys

Update fields

UpdateFields

F9

Select all, then F9

Type field braces

InsertFieldChars

cmd-F9

Control-F9

Show all field codes

ViewFieldCodes

Option-F9

Alt-F9

Show code for selected field

ToggleFieldDisplay

Shift-F9

Shift-F9

Stop selected field from updating temporarily

LockFields

cmd-F11

Shift-F9

Let selected field update again

UnlockFields

cmd-shift-F11

Control-shift-F11

Convert selected field to plain text

UnlinkFields

cmd-shift-F9

Control-shift-F9



Posted by fermi

댓글을 달아 주세요

윈도우용 Subsonic 에서 Windows Network Drive의 폴더를 미디어에 추가하지 못하는 것은 윈도우의 서비스로 실행중인 Subsonic이 해당 사용자권한을 갖지 못하기 때문.


해결방법: 윈도우 서비스에서 Subsonic을 찾아 속성에서 Log-on 탭으로 들어가 Admin과 해당 Network Drive를 접근할 수 있는 권한을 갖고 있는 어카운트로 설정해주면 된다. 


참고: http://www.sageadviceltd.com/sage/wordpress/running-subsonic-on-windows-server-with-media-on-a-nas-154

Posted by fermi

댓글을 달아 주세요

참고: http://www.readynas.com/forum/viewtopic.php?f=36&t=57212



1) Do something like this:


cd /tmp/addons

mkdir couchpot

cd couchpot

wget DOWNLOADURLOFADDON


2) extract contents of add-on e.g.


tail -c `head -n 1 PRO-Transmission_1.73b01Light.bin | awk -Fsize= '{print $2}' | cut -d, -f1` PRO-Transmission_1.73b01Light.bin | tar -xv


3) Run the install.sh script


sh install.sh



EX) Subsonic 4.7.04 (4.7 final) 을 수동 설치


wget http://www.readynas.com/contributed/super-poussin/x86/Subsonic_4.7.04.bin


--2013-10-31 13:20:01--  http://www.readynas.com/contributed/super-poussin/x86/Subsonic_4.7.04.bin

Resolving www.readynas.com... 206.16.42.227

Connecting to www.readynas.com|206.16.42.227|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 33552384 (32M) [application/octet-stream]

Saving to: `Subsonic_4.7.04.bin'


100%[======================================>] 33,552,384  1.67M/s   in 27s     


2013-10-31 13:20:30 (1.16 MB/s) - `Subsonic_4.7.04.bin' saved [33552384/33552384]


tail -c `head -n 1 Subsonic_4.7.04.bin | awk -Fsize= '{print $2}' | cut -d, -f1` Subsonic_4.7.04.bin | tar -xv


install.sh

remove.sh

addons.conf

files.tgz


sh install.sh 


Get:1 http://www.readynas.com 4.2.24/ Release.gpg [490B]                       

Get:2 http://archive.debian.org etch Release.gpg [1033B]                       

Ign http://www.readynas.com 4.2.24/ Translation-ko       

Hit http://www.readynas.com 4.2.24/ Release

Ign http://archive.debian.org etch/non-free Translation-ko

Hit http://archive.debian.org etch Release   

Ign http://www.readynas.com 4.2.24/ Packages/DiffIndex

Hit http://www.readynas.com 4.2.24/ Packages

Ign http://archive.debian.org etch/non-free Packages/DiffIndex

Hit http://archive.debian.org etch/non-free Packages

Fetched 1523B in 2s (542B/s)

Reading package lists... Done

(Reading database ... 15463 files and directories currently installed.)

Preparing to replace lame 3.97-0.0 (using /tmp/lame_3.97-0.0_i386.deb) ...

Unpacking replacement lame ...

Setting up lame (3.97-0.0) ...

Reading package lists... Done

Building dependency tree       

Reading state information... Done

0 upgraded, 0 newly installed, 0 to remove and 14 not upgraded.

Reading package lists... Done

Building dependency tree       

Reading state information... Done

ffmpeg is already the newest version.

0 upgraded, 0 newly installed, 0 to remove and 14 not upgraded.

(Reading database ... 15463 files and directories currently installed.)

Preparing to replace lame 3.97-0.0 (using /tmp/lame_3.97-0.0_i386.deb) ...

Unpacking replacement lame ...

Setting up lame (3.97-0.0) ...

debconf: delaying package configuration, since apt-utils is not installed

cp: omitting directory `/tmp/subsonic/transcode'

mkdir: cannot create directory `/c/media/Podcast': File exists

mkdir: cannot create directory `/c/media/playlists': File exists

(Reading database ... 15463 files and directories currently installed.)

Preparing to replace lame 3.97-0.0 (using /tmp/lame_3.97-0.0_i386.deb) ...

Unpacking replacement lame ...

Setting up lame (3.97-0.0) ...

Started Subsonic [PID 19571, /c/webroot/subsonic/subsonic_sh.log]


이후 Subsonic 4.8 로 업데이트 하기 위하여 c/webroot/subsonic/subsonic.war 를 4.8로 wget 하여 overwright 하여 작동함을 확인하였다. 


Frontview 관련 UI 는 /etc/frontview/addons 에 존재함.


Uninstall script: /etc/frontview/addons/

ui: /etc/frontview/addons/ui/

bin: /etc/frontview/addons/bin/






Posted by fermi

댓글을 달아 주세요

WebDAV 설정


참고1: http://itzone.tistory.com/413

참고2: http://godyang.battlearea.net/115


1. httpd.conf 의 다음 부분에서 주석 해제


LoadModule dav_module modules/mod_dav.so

LoadModule dav_fs_module modules/mod_dav_fs.so

LoadModule dav_lock_module modules/mod_dav_lock.so

Include conf/extra/httpd-dav.conf


2. extra/httpd-dav.conf 편집


DavLockDB "C:/Program Files/Apache Software Foundation/Apache2.2/var/DavLock"


Alias /media "D:/.../Media"


<Directory "D:/.../Media">

    Dav On


    Order Allow,Deny

    Allow from all


    AuthType Digest

    AuthName WebDAV


    AuthUserFile "C:/Program Files/Apache Software Foundation/Apache2.2/user.passwd"

    AuthDigestProvider file


    Options FollowSymLinks Indexes

    Require valid-user


    <LimitExcept GET OPTIONS>

        require user admin

    </LimitExcept>

</Directory>


BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully

BrowserMatch "MS FrontPage" redirect-carefully

BrowserMatch "^WebDrive" redirect-carefully

BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully

BrowserMatch "^gnome-vfs/1.0" redirect-carefully

BrowserMatch "^XML Spy" redirect-carefully

BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully


3. passwd 파일 생성

C:\....\Apache2.2\bin>htdigest.exe -c ../users.passwd WebDAV username

사용자 추가는 -c 없이

C:\....\Apache2.2\bin>htdigest.exe ../users.passwd WebDAV username


4. var 폴더 생성


C:\....\Apache2.2> 아래 var 폴더 생성

var 폴더가 없으면 lock database 를 만들지 못해서 delete 명령을 사용할 수 없다.



SSL 설정


참고: http://blog.daum.net/question0921/765


1. 인증서 생성


1.1 csr 파일 생성


C:\....\Apache2.2\bin>openssl.exe req -config ../conf/openssl.cnf -new -out ../conf/server.csr


1.2 개인키 생성 


C:\....\Apache2.2\bin>openssl.exe rsa -in ../conf/privkey.pem -out ../conf/server.key


1.3 인증서 생성


C:\....\Apache2.2\bin>openssl.exe x509 -in ../conf/server.csr -out ../conf/server.crt -req -signkey ../conf/server.key -days 3650


1.4 인증서 이동


server.crt 와 server.key 를 C:\....\Apache2.2\conf 로 이동


2. httpd.conf 에서 다음 부분 주석 해제


LoadModule ssl_module modules/mod_ssl.so

Include conf/extra/httpd-ssl.conf


3. extra/httpd-ssl.conf 에서 인증서 경로 확인


SSLCertificateFile "C:/Program Files/Apache Software Foundation/Apache2.2/conf/server.crt"

SSLCertificateKeyFile "C:/Program Files/Apache Software Foundation/Apache2.2/conf/server.key"



Posted by fermi

댓글을 달아 주세요

출처1: http://embdev.net/topic/284710

출처2: http://ireckon.net/2013/03/force-rgb-mode-in-mac-os-x-to-fix-the-picture-quality-of-an-external-monitor



준비: 

patch-edid.rb



원인:

Many Dell monitors (e.g., U2713H, U2713HM, ...) look really bad when 
connected to a Mac (OS X 10.8.2) via DisplayPort, as if some sharpening 
or contrast enhancement was applied. Others have reported the same 
problem 
(http://www.anandtech.com/show/6308/dell-u2713hm-un..., 
http://forums.macrumors.com/showthread.php?t=1481582). The reason is 
that the DisplayPort uses YCbCr colors instead of RGB to drive the 
display, which limits the range of colors and apparently causes the 
display to apply some undesired post processing.

The problem can be solved by overriding the EDID data of the display


해결 방법:

How to force RGB in Mac OS X

  1. Download the patch-edid.rb script from the forums thread above and put it in your home directory.
  2. Connect only the external monitor(s) in question (I closed my MacBook lid, for example). The script will make override files for any connected monitor.
  3. Type “ruby patch-edid.rb” in Terminal.
  4. A new folder will be created in your home directory. Move it into the “/System/Library/Displays/Overrides” folder. If Finder tells you that you are overwriting an existing folder, consider backing it up first.
  5. Restart your computer, enjoy your monitor.

To undo the changes, either delete the folder you had copied to the Overrides folder (if it didn’t already exist) or replace it with the folder you had backed up.


다른 방법: 

DisplayVendorID-10ac.zip


위의 방법으로 생성된 EDID override 설정파일을 다운 받아 /System/Library/Displays/Overrides/DisplayVendorID-10ac 에 압축을 푼다.

Posted by fermi

댓글을 달아 주세요

1. host


route add x.x.x.x gateway

route delete x.x.x.x gateway


sudo route add 10.8.0.2 192.168.0.1

sudo route delete 10.8.0.2 192.168.0.1



2. subnet


route add x.x.x.x/24 gateway

route delete x.x.x.x/24 gateway


route add 10.8.0.0/24 192.168.0.1

route delete 10.8.0.0/24 192.168.0.1



3. Automatically set static routs


참고: http://www.andre-aulich.de/en/perm/setting-static-routes-in-mac-os-x-104105-client-and-server


We can simply use a launchd entry in /Library/LaunchDaemons, which can look like this. 


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>Label</key>

<string>setstaticroute</string>

<key>ProgramArguments</key>

<array>

<string>route</string>

<string>add</string>

<string>-host</string>

<string>192.168.2.100</string>

<string>192.168.1.254</string>

</array>

<key>RunAtLoad</key>

<true/>

<key>StartInterval</key>

<integer>1200</integer>

</dict>

</plist>


Just copy the file into /Library/LaunchDaemons/ and activate it by typing


sudo launchctl load -w /Library/LaunchDaemons/setstaticroute.plist


Posted by fermi

댓글을 달아 주세요

1. OpenVPN Server 설치


http://openvpn.net/index.php/open-source/downloads.html


Windows XP를 이용할 경우 openvpn-install-2.3.0-I001-i686.exe 를 설치한다.


2. Server Key 생성


참고: http://jaesoo.com/index.php?mid=study_board&document_srl=7622


1) c:\program files\openvpn\easy-rsa 폴더로 이동


2) init-config.bat 파일 실행


3) texteditor로 vars.bat 파일을 열어 파일 맨 하단부에서 다음 부분을 찾는다.


set KEY_̲COUNTRY=US

set KEY_̲PROVINCE=CA

set KEY_̲CITY=SanFrancisco

set KEY_̲ORG=FortFunston

set KEY_̲EMAIL=mail@host.domain


4) 여기서 다음과 같이 수정


set KEY_̲COUNTRY=KR

set KEY_̲PROVINCE=Seoul

set KEY_̲CITY=Seoul

set KEY_̲ORG=your_org_name

set KEY_̲EMAIL=foo@foo.com



5) DOS Command 창으로 c:\program files\openvpn\easy-rsa 폴더에 들어가서 다음을 차례대로 실행


vars.bat 실행

clean-all.bat 실행

build-ca.bat 실행


그냥 ENTER를 계속 누르되 common name/host name은 server로 입력. 잘못 입력했으면 다시 build-ca.bat를 실행하여 입력


6) 서버 인증서 생성


DOS Command 창으로 c:\program files\openvpn\easy-rsa 폴더에 들어가서 다음을 실행


build-key-server server


- 그냥 ENTER를 계속 누르되 common name/host name은 server로 입력

- A challenge password는 적당한것을 입력

- y/n을 묻는 부분에서는 무조건 y


7) 클라이언트 인증서 생성


DOS Command 창으로 c:\program files\openvpn\easy‒rsa 폴더에 들어가서 다음을 실행


build‒key client


- 그냥 ENTER를 계속 누르되 common name/host name은 client로 입력

- A challenge password는 적당한것을 입력

- y/n을 묻는 부분에서는 무조건 y


※ 접속할 사용자가 여러명이면 다음과 같이 인증서를 여러개 만들 수 있다.


ex)

build-key fermi

build-key vpn


8) DH 파라메터 생성


DOS Command 창으로 c:\program files\openvpn\easy‒rsa 폴더에 들어가서 다음을 실행


build-dh.bat


9) 인증서 생성 마무리


c:\program files\openvpn\easy-rsa\keys에서 다음의 파일들을 c:\program files\openvpn\config 디렉토리에 복사


- ca.crt

- dh1024.pem

- server.crt

- server.key


다음의 파일은 클라이언트에서의 사용을 위해 별도로 저장해둔다.

(아무나 막 사용할 수도 있으므로 안전하게 저장해 두는 것이 좋다.)


- ca.crt

- client.crt

- client.key



3. VPN 서버 환경 설정


c:\program files\openvpn\sample‒config에서 server.ovpn 파일을 복사하여 c:\program files\openvpn\config 폴더에 복사한다.


4. 방화벽 해제 (8. Server의 NAT 설정을 수행할 경우 필요 없음)


Windows 방화벽이 설정되어져 있다면 다음과 같이 예외설정을 해준다.


이름: OpenVPN

프로토콜: UDP

포트번호: 1194



5. VPN 서버 실행


시작 > 프로그램 > OpenVPN > OpenVPN GUI 실행 (오른쪽 하단에 빨간색 아이콘이 생긴다)


오른쪽 버튼을 눌러 Popup Menu를 띄우고 Connect버튼을 누른다.


녹색으로 변신하면 OK, 실패했다면 c:\program files\openvpn\easy‒rsa\keys 폴더를 지우고 2. Key 생성을 처음부터 다시 한다.


6. 서버를 자동 실행시키고 싶은 경우

제어판 > 관리도구 > 서비스 > OpenVPN 자동실행으로 변경


7. 접속된 클라이언트의 모든 트래픽을 VPN 서버로 보내기


c:\program files\openvpn\config\server.ovpn 파일에 다음 부분을 찾아서 추가한다.


;push "redirect-gateway def1 bypass-dhcp"


push "redirect-gateway def1 bypass-dhcp"


(클라이언트의 모든 트래픽을 VPN으로 우회)


클라이언트 IP를 할당할 때 DNS를 지정하고 싶으면 다음 부분을 찾아서 추가한다.


;push "dhcp-option DNS 208.67.222.222"

;push "dhcp-option DNS 208.67.220.220"


push "dhcp-option DNS 8.8.8.8"


(Google DNS로 지정)


8. Server의 NAT 설정


참고: http://www.nanodocumet.com/?p=14


클라이언트의 모든 트래픽을 VPN으로 우회한 후, 인터넷이 되도록 하기 위해서는 서버의 NIC에 NAT 설정을 해주어야 한다.

(The OpenVPN server machine may need to NAT or bridge the TUN/TAP interface to the internet in order for this to work properly.)


Windows XP의 자체 NAT 기능을 설정하기 위하여 다음을 진행한다.

(Follow these steps to have your Windows XP to work as a NAT but without the restrictions of ICS (Internet Connection Sharing)


1) Requirements:


A. To have two network cards:


NIC1: One connected to the internal network (any network not only 192.168.1.0).

NIC2: The other one connected to the Internet (or other network you want to connect to)


B. To have administrative access to stop/start some services.


2) Steps:


A. Disable ICS on both NICs.


Right-click on NIC -> Properties -> Advanced. Make sure Allow other network users to connect through this computer’s Internet connection is unchecked.


B. Enable Routing and Remote Access Service.


Control Panel -> Administrative Tools -> Services. Enable Routing and Remote Access


C. Disable Firewall/ICS Service (which might take precedence over step 1)


Control Panel -> Administrative Tools -> Services. Disable Windows Firewall/Internet Connection Sharing (ICS)


D. Configure the NICs:


Only 1 should have a gateway (In my example is NIC2). Disable the gateway on the other NIC (NIC1)


Add the NAT configuration.

- You still need to find out the name of your network cards. Here are presenting them as NIC1 and NIC2. In reality they could be something like “Local Area Connection”


type the command "netsh"


netsh


pushd routing ip nat

uninstall

install

set global tcptimeoutmins=1440 udptimeoutmins=1 loglevel=ERROR

add interface name="NIC2" mode=FULL

add interface name="NIC1" mode=PRIVATE

popd



9. OpenVPN 클라이언트 설치


- iOS 와 Android 디바이스들은 App Store 와 Market 에서 다운로드

- Mac OS X 용 클라이언트: http://code.google.com/p/tunnelblick

- Windows: http://openvpn.net/index.php/open-source/downloads.html


10. 클라이언트 환경설정


1) Key 복사


2의 8)에서 저장해둔 ca.crt, client.crt, client.key파일을 c:\program files\openvpn\config 폴더에 복사한다.


2) 환경설정


c:\program files\openvpn\sample-config에서 client.ovpn 파일을 복사하여 c:\program files\openvpn\config 폴더에 복사한 후 Notepad로 열어 다음의 부분을 찾는다.


# The hostname/IP and port of the server. # You can have multiple remote entries

# to load balance between the servers

;remote my‒server‒1 1194

;remote my‒server-2 1194


여기서 아래와 같이 my-server-1을 접속하고자 하는 서버의 domain name 또는 IP Address로 적어준 후 파일을 저장한다.


remote vpn.xxx.net 1194


3) 환경설정 적용


대부분의 클라이언트에서 다음 파일들을 import 할 수 있다.


ca.crt

client.crt

client.key

client.ovpn



11. Ubuntu 에서 OpenVPN Server 설치


NAT 면에서 Ubuntu Server LTS 최신 버전을 이용하는 것이 Windows 보다 잇점이 있다.


https://help.ubuntu.com/12.04/serverguide/openvpn.html


http://openvpn.net/index.php/open-source/documentation/howto.html#redirect

http://blog.wains.be/2008/07/18/openvpn-routing-all-traffic-through-the-vpn-tunnel/

http://codeghar.wordpress.com/2012/05/02/ubuntu-12-04-ipv4-nat-gateway-and-dhcp-server/


On Linux, you could use a command such as this to NAT the VPN client traffic to the internet:


1) Enable IP forwarding


/etc/sysctl.conf 파일을 열어서 “net.ipv4.ip_forward” line을 찾아 set it to 1


# Uncomment the next line to enable packet forwarding for IPv4

net.ipv4.ip_forward = 1


2) iptable 수정을 자동으로 하기


/etc/rc.local 파일을 열어서 exit 0 줄 위에 다음 한 줄을 추가

/sbin/iptables --table nat -A POSTROUTING -o eth0 -j MASQUERADE


/sbin/iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

exit 0




Posted by fermi
TAG NAT, OpenVPN, vpn

댓글을 달아 주세요


iFunBox를 이용하여 iPhone에 연결


Database 파일 위치는:

KaKaoTalk/Library/PrivateDocuments/Talk.sqlite


위 파일을 백업하여 덥어쓰면 대화 내용이 복원 됨

Posted by fermi

댓글을 달아 주세요

First, unzip the .ipa file. (you can rename it with .zip to do this).


Then, inside the .ipa file, you will find there is a Info.plist file. 


You can parse that file, look for "CFBundleURLSchemes" and you will see first the app id followed by the Custom URL if one is defined for the app.


Source: http://stackoverflow.com/questions/6845693/can-i-extract-the-custom-url-scheme-from-a-ipa-file


Posted by fermi

댓글을 달아 주세요


참고:


Samsung Galaxy S III (Sprint) 디바이스 코드명: d2spr

1. Requirements:

Linux - Ubuntu 12.04 - 64bit (AFAIK, a 64 bit host is needed to compile JB)
About 14GB of storage for the repository plus about 15GB for building (Recommend 50GB)

If you're using Windows or another OS, grab Virtual Box and install Ubuntu on a VM. It makes a nice development environment.
(Give the VM enough resources - A few cores and 4GB of RAM) 

2. Ubuntu 준비


필수: Ubuntu 12.04.1 LTS Desktop 64-bit

다운로드: http://www.ubuntu.com/start-download?distro=desktop&bits=64&release=lts


2.1 - Ubuntu 한글 입력 환경:

키보드 레이아웃은 English 로 그대로 나두고, Language Support 에서 Korean 추가

Language Support 에서 Input Method 만 ibus를 선택 후 시스템 restart.

이후 태스크 메뉴의 ibus 아이콘을 클릭하여 Preference 에서 Input Method 에 Korean 을 추가하고 Input Method On/Off 단축키를 Shift+space로 설정


2.2 - Time Zone:

Time Zone 서울로 변경


3. Install Ubuntu Packages


3.1 - In terminal:

Code:

sudo apt-get install git-core gnupg flex bison python rar original-awk gawk p7zip-full gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool


sudo apt-get install libc6-dev x11proto-core-dev libx11-dev libgl1-mesa-dev mingw32 tofrodos python-markdown libxml2-utils


sudo apt-get install g++-multilib lib32z1-dev ia32-libs lib32ncurses5-dev lib32readline-gplv2-dev gcc-multilib g++-multilib xsltproc


4. Install JAVA


NOTE: Must be JDK 1.6 - Don't use other versions.


4.1 - Download Java JDK for Linux 64-bit from Java site: (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Correct file will be something like: jdk-6u##-linux-x64.bin , where ## is the version number and will change with updates.


4.2 - Move jdk-6u##-linux-x64.bin to your home directory


4.3 - Remove any other java packages from system:

Code:

sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*


4.4 - Install Java JDK:

Code:

sudo mkdir -p /opt/java/64/

sudo cp jdk-6u##-linux-x64.bin /opt/java/64

sudo su -

cd /opt/java/64

chmod +x jdk-6u##-linux-x64.bin

./jdk-6u##-linux-x64.bin

exit


4.5 - Add JDK PATH to .bashrc:

Code:

vi ~/.bashrc

Add these lines to .bashrc:

Code:

# Java PATHs

export JAVA_HOME=/opt/java/64/jdk1.6.0_##

export PATH=$PATH:$JAVA_HOME/bin


5. Install Android SDK


5.1 - Setup directories:

Code:

cd ~

mkdir android

cd android

mkdir sdk


5.2 - Download Android SDK from http://developer.android.com/sdk/index.html


5.3 - Extract SDK contents to ~/android/sdk


5.4 - Add Android SDK Path:

Code:

vi ~/.bashrc

Enter the Following:

Code:

#Android PATH

export PATH=$PATH:~/android/sdk

export PATH=$PATH:~/android/sdk/platform-tools

export PATH=$PATH:~/android/sdk/tools


5.5 - Add Extra Path For Device:

Code:

sudo vi /etc/udev/rules.d/99-android.rules

Enter this:

Code:

#Samsung

SUBSYSTEM==usb, SYSFS{idVendor}==04e8, MODE=0666

SUBSYSTEM=="usb", ATTRS{idVendor}=="####:####", SYMLINK+="android_adb", MODE="0666" GROUP="plugdev"

TEST=="/var/run/ConsoleKit/database", \

RUN+="udev-acl --action=$env{action} --device=$env{DEVNAME}"

Save/close file and run:

Code:

sudo chmod +x /etc/udev/rules.d/99-android.rules


5.6 - Close and open new terminal.


5.7 - Install Android SDK Tools

Code:

android

Check Android SDK Tools and Android SDK platform-tools and Install them


6. Install Repository


6.1 - Download Repo:

Code:

mkdir -p ~/bin

mkdir -p ~/android/system

curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

chmod a+x ~/bin/repo


6.2 - Add Repo Path:

Code:

vi ~/.bashrc

Enter the following:

Code:

export PATH=$PATH:~/bin


6.3 - Close and open new terminal.


6.4 - Initialize Repository & Sync:

Code:

cd ~/android/system/

repo init -u git://github.com/CyanogenMod/android.git -b jellybean

repo sync -j16

NOTE: If you have trouble syncing due to connection issues, try repo sync -j1. It's slower but some ISPs have issues with -j16

Want to make sure you didn't get any connection errors and have the complete repository? Just run the repo sync command again. It can't give you ANY errors.

Go get a beer. And another. And another...


6.5 - Get Device Specific Repos:

Code:

. build/envsetup.sh && breakfast d2spr

Get more beer...


6.6 - Extract files from phone:

NOTE: You need to have cm10 installed on the phone.

Connect phone to pc and in terminal type:

Code:

adb root

cd ~/android/system/device/samsung/d2spr/

./extract-files.sh


6.6 - Get proprietary files:

Code:

cd ~/android/system

git clone https://github.com/TheMuppets/proprietary_vendor_samsung.git vendor/samsung


6.7 - Download Extra Files:

Code:

~/android/system/vendor/cm/get-prebuilts


6.8 - Add Toolchain PATH:

Code:

vi ~/.bashrc

Enter the following:

Code:

#Android Toolchain PATH

export ARCH=arm

export CCOMPILE=$CROSS_COMPILE

export CROSS_COMPILE=arm-eabi-

export PATH=$PATH:/home/YOUR-USERNAME/android/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin


6.9 - Close and open new terminal.


7. Building Android


Code:

cd ~/android/system

. build/envsetup.sh && brunch d2spr

Go get a beer. And another. And another...


8. Install on Phone


8.1 - Copy your .zip file from ~/android/system/out/target/product/d2spr/cm-10-XXXXXXXXX-UNOFFICIAL-d2spr.zip to the root of the SD card.


8.2 - Optional: Download Google Apps for Jelly Bean from http://goo.im/gapps and place it on the root of the SD card.


8.3 - Flash both of these .zip files from recovery.

Call your mother. She misses you.


...and that's it.


9. How to update?


Code:

cd ~/android/system

repo sync -j16

make installclean


find ./out/ -name 'build.prop' | xargs rm

find ./out/ -name 'cm_d2spr-target_files-eng.*.zip' | xargs rm

rm -rf ~/android/system/out

NOTE: If you have trouble syncing due to connection issues, try repo sync -j1. It's slower but some ISPs have issues with -j16

...get beer, build and install.


Want to go "Steve Jobs" on the Android build? (Warning: Will take a gazillion years to re-build everything again)

Run:

Code:

make clobber


10. 한글 SMS 코드 수정


http://wwww.matpclub.com/?m=bbs&bid=imbed&uid=91803

http://code.google.com/p/cyanogenmod/issues/detail?id=2410

http://code.google.com/p/cyanogenmod/issues/attachmentText?id=2410&aid=8690011502386790186&name=sms_mms_korean.diff

sms_mms_korean.diff


10.1 - sms_mms_korean.diff:

diff --git a/core/java/com/google/android/mms/pdu/CharacterSets.java b/core/java/com/google/android/mms/pdu/CharacterSets.java

index 4e22ca5..78441b3 100644

--- a/core/java/com/google/android/mms/pdu/CharacterSets.java

+++ b/core/java/com/google/android/mms/pdu/CharacterSets.java

@@ -40,6 +40,7 @@ public class CharacterSets {

     public static final int ISO_8859_8  = 0x0B;

     public static final int ISO_8859_9  = 0x0C;

     public static final int SHIFT_JIS   = 0x11;

+    public static final int EUC_KR      = 0x26;

     public static final int UTF_8       = 0x6A;

     public static final int BIG5        = 0x07EA;

     public static final int UCS2        = 0x03E8;

@@ -66,6 +67,7 @@ public class CharacterSets {

         ISO_8859_8,

         ISO_8859_9,

         SHIFT_JIS,

+        EUC_KR,

         UTF_8,

         BIG5,

         UCS2,

@@ -87,6 +89,7 @@ public class CharacterSets {

     public static final String MIMENAME_ISO_8859_8  = "iso-8859-8";

     public static final String MIMENAME_ISO_8859_9  = "iso-8859-9";

     public static final String MIMENAME_SHIFT_JIS   = "shift_JIS";

+    public static final String MIMENAME_EUC_KR      = "euc-kr";

     public static final String MIMENAME_UTF_8       = "utf-8";

     public static final String MIMENAME_BIG5        = "big5";

     public static final String MIMENAME_UCS2        = "iso-10646-ucs-2";

@@ -110,6 +113,7 @@ public class CharacterSets {

         MIMENAME_ISO_8859_8,

         MIMENAME_ISO_8859_9,

         MIMENAME_SHIFT_JIS,

+        MIMENAME_EUC_KR,

         MIMENAME_UTF_8,

         MIMENAME_BIG5,

         MIMENAME_UCS2,

diff --git a/core/java/com/google/android/mms/pdu/PduPersister.java b/core/java/com/google/android/mms/pdu/PduPersister.java

index 9fdd204..09c2214 100644

--- a/core/java/com/google/android/mms/pdu/PduPersister.java

+++ b/core/java/com/google/android/mms/pdu/PduPersister.java

@@ -425,8 +425,13 @@ public class PduPersister {

                     if (ContentType.TEXT_PLAIN.equals(type) || ContentType.APP_SMIL.equals(type)

                             || ContentType.TEXT_HTML.equals(type)) {

                         String text = c.getString(PART_COLUMN_TEXT);

-                        byte [] blob = new EncodedStringValue(text != null ? text : "")

-                            .getTextString();

+                        byte [] blob;

+                        try {

+                            blob = (text != null ? text : "").getBytes(CharacterSets.getMimeName(charset));

+                        } catch (Exception e) {

+                            Log.w(TAG, "Failed to decode an MMS text.", e);

+                            blob = new byte[0];

+                        }

                         baos.write(blob, 0, blob.length);

                     } else {

 

@@ -741,7 +746,7 @@ public class PduPersister {

                     || ContentType.APP_SMIL.equals(contentType)

                     || ContentType.TEXT_HTML.equals(contentType)) {

                 ContentValues cv = new ContentValues();

-                cv.put(Telephony.Mms.Part.TEXT, new EncodedStringValue(data).getString());

+                cv.put(Telephony.Mms.Part.TEXT, new EncodedStringValue(part.getCharset(), data).getString());

                 if (mContentResolver.update(uri, cv, null, null) != 1) {

                     throw new MmsException("unable to update " + uri.toString());

                 }

diff --git a/telephony/java/com/android/internal/telephony/SimRegionCache.java b/telephony/java/com/android/internal/telephony/SimRegionCache.java

index 2cf6d25..7825781 100644

--- a/telephony/java/com/android/internal/telephony/SimRegionCache.java

+++ b/telephony/java/com/android/internal/telephony/SimRegionCache.java

@@ -17,14 +17,58 @@

 package com.android.internal.telephony;

 

 import android.os.SystemProperties;

+import android.util.Log;

 

 public class SimRegionCache {

+

+    private static final String LOG_TAG = "GSM";

+    private static final String PROPERTY_CACHED_MCC = "gsm.cachedMcc";

+

     public static final int MCC_UNSET  = Integer.MIN_VALUE;

     public static final int MCC_KOREAN = 450;

 

     private static int regionFromMcc = MCC_UNSET;

 

     /**

+     * Updates the cache of the SIM card region code manually with the

+     * specified MCC (Mobile Country Code).  Specify null if you want

+     * to get the ICC operator numeric from SystemProperties.

+     */

+    public static void setRegion(String mcc) {

+        if (mcc == null) {

+            if (regionFromMcc != MCC_UNSET) {

+                return;

+            }

+            mcc = SystemProperties.get(PROPERTY_CACHED_MCC, null);

+            if (mcc == null) {

+                mcc = SystemProperties.get(TelephonyProperties.PROPERTY_ICC_OPERATOR_NUMERIC, null);

+            }

+        }

+        if (mcc == null || mcc.length() < 3) {

+            regionFromMcc = MCC_UNSET;

+            return;

+        }

+

+        mcc = mcc.substring(0, 3);

+

+        try {

+            regionFromMcc = Integer.parseInt(mcc);

+        } catch (Exception e) {

+            Log.w(LOG_TAG, "Invalid MCC: " + mcc, e);

+            return;

+        }

+

+        // Store the cached MCC in the system properties to avoid class loader issues.

+        SystemProperties.set(PROPERTY_CACHED_MCC, mcc);

+

+        if (regionFromMcc == MCC_KOREAN) {

+            Log.w(LOG_TAG, "Korean SIM detected - alternative message encoding might be applied on the received SMS and MMS messages.");

+        } else {

+            Log.d(LOG_TAG, "Detected MCC: " + regionFromMcc);

+        }

+    }

+

+    /**

      * Returns the region as read from the MCC of the SIM card.

      * If the property {@link TelephonyProperties#

      * PROPERTY_ICC_OPERATOR_NUMERIC}

@@ -34,17 +78,7 @@ public class SimRegionCache {

      */

     public static int getRegion() {

         if (regionFromMcc == MCC_UNSET) {

-            String plmn = SystemProperties.get(

-                    TelephonyProperties.PROPERTY_ICC_OPERATOR_NUMERIC,

-                    null);

-

-            if (plmn != null && plmn.length() >= 3) {

-                try {

-                    regionFromMcc = Integer.parseInt(plmn.substring(0, 3));

-                } catch(Exception e) {

-                    // Nothing that can be done here.

-                }

-            }

+            setRegion(null);

         }

         return regionFromMcc;

     }

diff --git a/telephony/java/com/android/internal/telephony/gsm/SIMRecords.java b/telephony/java/com/android/internal/telephony/gsm/SIMRecords.java

index b4e7b63..ddd1c5d 100644

--- a/telephony/java/com/android/internal/telephony/gsm/SIMRecords.java

+++ b/telephony/java/com/android/internal/telephony/gsm/SIMRecords.java

@@ -35,6 +35,7 @@ import com.android.internal.telephony.IccUtils;

 import com.android.internal.telephony.IccVmFixedException;

 import com.android.internal.telephony.IccVmNotSupportedException;

 import com.android.internal.telephony.MccTable;

+import com.android.internal.telephony.SimRegionCache;

 

 import java.util.ArrayList;

 

@@ -498,6 +499,8 @@ public final class SIMRecords extends IccRecords {

 

                 Log.d(LOG_TAG, "IMSI: " + imsi.substring(0, 6) + "xxxxxxxxx");

 

+                SimRegionCache.setRegion(imsi);

+

                 if (mncLength == UNKNOWN) {

                     // the SIM has told us all it knows, but it didn't know the mnc length.

                     // guess using the mcc

diff --git a/telephony/java/com/android/internal/telephony/gsm/SmsMessage.java b/telephony/java/com/android/internal/telephony/gsm/SmsMessage.java

index d87f395..331648c 100644

--- a/telephony/java/com/android/internal/telephony/gsm/SmsMessage.java

+++ b/telephony/java/com/android/internal/telephony/gsm/SmsMessage.java

@@ -791,7 +791,7 @@ public class SmsMessage extends SmsMessageBase{

             String ret;

 

             try {

-                ret = new String(pdu, cur, byteCount, "KSC5601");

+                ret = new String(pdu, cur, byteCount, "EUC-KR");

             } catch (UnsupportedEncodingException ex) {

                 // Should return same as ENCODING_UNKNOWN on error.

                 ret = null;

@@ -1075,11 +1075,21 @@ public class SmsMessage extends SmsMessageBase{

                     break;

 

                 case 1: // 8 bit data

-                case 3: // reserved

                     Log.w(LOG_TAG, "1 - Unsupported SMS data coding scheme "

                             + (dataCodingScheme & 0xff));

                     encodingType = ENCODING_8BIT;

                     break;

+

+                case 3: // reserved (or KSC5601 for Korean SIM)

+                    Log.w(LOG_TAG, "3 - Unsupported SMS data coding scheme "

+                            + (dataCodingScheme & 0xff));

+                    if (SimRegionCache.getRegion() == SimRegionCache.MCC_KOREAN) {

+                        Log.w(LOG_TAG, "Korean SIM, using KSC5601 for decoding.");

+                        encodingType = ENCODING_KSC5601;

+                    } else {

+                        encodingType = ENCODING_8BIT;

+                    }

+                    break;

                 }

             }

         } else if ((dataCodingScheme & 0xf0) == 0xf0) {


11. 기타


설치 전에 순정 롬을 백업하고 나중에 리스토어할 수 있는가?


Posted by fermi

댓글을 달아 주세요

국내


1. 마이패스북


2. 루비패스



국외



출처: http://iphoneblog.co.kr/1396

Posted by fermi

댓글을 달아 주세요

정부민원포털서비스인 민원24의 전자민원서류는 VMware 가상머신에서 인쇄할 수 없도록 해 놓았다.

민원24 홈페이지의 자주묻는 질문(FAQ)에는 이러한 문답이 있다.


질문

인쇄 시 "터미널 서비스로는 현재 문서를 열람할 수 없습니다. 9998" 메시지


답변

에러코드 9998 번은 사용하는 pc에서 원격제어 프로그램을 사용 할 경우 발생합니다. 

원격제어 프로그램을 해제하거나 다른 pc에서 출력해야합니다.


이 참 황당한 문답이 아닐 수 없다. 

VMware상에서 돌아가는 가상머신을 터미널서비스로 인식하도록 해 놓은것이 어떤 보안상의 헛점을 회피하기 위함인지는 대충 짐작은 가지만...


이 문제를 해결하려면 ~.vmx 파일을 수동으로 수정하여 다음 옵션을 추가한다.


isolation.tools.getPtrLocation.disable = "TRUE"

isolation.tools.setPtrLocation.disable = "TRUE"

isolation.tools.setVersion.disable = "TRUE"

isolation.tools.getVersion.disable = "TRUE"

monitor_control.disable_directexec = "TRUE"

monitor_control.disable_chksimd = "TRUE"

monitor_control.disable_ntreloc = "TRUE"

monitor_control.disable_selfmod = "TRUE"

monitor_control.disable_reloc = "TRUE"

monitor_control.disable_btinout = "TRUE"

monitor_control.disable_btmemspace = "TRUE"

monitor_control.disable_btpriv = "TRUE"

monitor_control.disable_btseg = "TRUE"


출처1: http://floydism.tistory.com/1

출처2: http://bestf.tistory.com/323



2014년 3월 27일 추가


StarForce 3.xx - StarForce 5.7xx 버전에 VMWare 탐지를 우회하려고 하는 경우.. ( 게임 락관련 )


isolation.tools.getPtrLocation.disable = "TRUE"

isolation.tools.setPtrLocation.disable = "TRUE"

isolation.tools.setVersion.disable = "TRUE"

isolation.tools.getVersion.disable = "TRUE"

monitor_control.disable_directexec = "TRUE"

monitor_control.disable_chksimd = "TRUE"

monitor_control.disable_ntreloc = "TRUE"

monitor_control.disable_selfmod = "TRUE"

monitor_control.disable_reloc = "TRUE"

monitor_control.disable_btinout = "TRUE"

monitor_control.disable_btmemspace = "TRUE"

monitor_control.disable_btpriv = "TRUE"

monitor_control.disable_btseg = "TRUE"



TheMida, WinLicense, VMProtect 로 패킹 된 프로그램에 대해 VMWare 탐지를 우회하려고 하는 경우...( 온라인 게임 관련 )


monitor_control.restrict_backdoor = "TRUE"

disable_acceleration = "TRUE"

monitor_control.vt32 = "TRUE"

monitor_control.enable_svm = "TRUE"


mks.enable3d = "TRUE"

svga.vramsize = 67108864

vmmouse.present = "FALSE"


출처3: http://simples.kr/ITTalk/35057

출처4: http://blog.naver.com/PostView.nhn?blogId=inniskun&logNo=130147741801

Posted by fermi

댓글을 달아 주세요

출처: http://macnews.tistory.com/49

OS X 라이언용 Mail의 설정에 들어가시면 ‘메시지 목록에서 연락처 사진 보기’ 옵션이 있습니다. 이메일을 보낸 사람의 프로필 사진이 리스트에 표시되서 가독성이 훨씬 좋아지는 효과가 있습니다. 

단 보낸 사람의 정보와 프로필 사진이 주소록.app에 등록이 되어 있는 경우에만 프로필 사진이 메일 프로그램에 표시되는데요 메일을 발송한 사람, 혹은 회사의 이메일 정보와 프로필 사진이 주소록 프로그램에 등록되어 있지 않다면

/Users/사용자 계정/Library/Images/People

위 폴더를 만들어 준 후 그 안에 이메일주소.tiff 형식(예: abc@google.com.tiff)으로 프로필 이미지를 저장해 주시고 메일 프로그램을 종료하고 다시 실행하면 프로필 사진이 정상적으로 나타납니다.


Posted by fermi
TAG Email, Icon, MAC, Mail, OS x

댓글을 달아 주세요