상세 컨텐츠

본문 제목

LightSMS 0.4.x 로그인 풀리는 현상 수정하기

Browser

by Vulpes.Noctis 2008. 11. 25. 16:24

본문

네이트온 무료 문자를 브라우저에서 바로 보낼 수 있게 해 주는 링크: "밝은영혼" 강병욱님이 만드신 확장기능인 링크:LightSMS는 이제 가히 없어서는 안될 확장기능이 되었습니다. 이게 개발 초기에는 구동도 빠르고 바로바로 문자가 보내져서 상당히 유용했으나 0.4.x가 되면서 로그인이 풀려서 문자가 가지 않거나 제 경우에는 아예 로그인 자체가 안 되는 버그가 나타나는 경우가 있습니다. 하지만 0.4.3을 마지막으로 한동안 개발이 멈춰 있어서 답답하던 차에 링크: rootbox님께서 이 문제에 대한 해결책을 올려 주셔서 이를 이용한 해결법을 공유합니다.

1. 우선, 확실하게 로그인까지는 진행되는 버전의 LightSMS가 필요합니다. 다른 분들은 0.4.3으로도 가능하신 모양인데, 제 경우, 0.4.1~0.4.3으로는 윈도우즈도 리눅스도 로그인 자체가 안 되는 현상이 있었습니다. 저랑 같은 증상이 있으신 분들은 0.4 버전을 구해서 작업을 하시기 바랍니다.

링크: LightSMS 0.4.3 다운받기
링크: LightSMS 0.4 다운받기


이미 설치되어 있으시다면 그걸 바로 수정하셔도 작업 방식은 동일합니다만, 이 경우 랜덤으로 이름이 정해지는 디렉토리 중 어느 것이 LightSMS인지 찾는 과정이 필요하므로 이 과정이 번거로우신 분이나 여러 장소에서 설치할 필요가 있으신 분들은 xpi파일을 받아서 고치는걸 추천합니다.

2. 위의 xpi파일을 받으신 분들은 확장자를 xpi에서 zip으로 바꿔 주시고 적당한 위치에서 압축을 풀어 줍니다. 이미 설치된 파일을 고치는 경우는, 자신의 프로필 폴더[각주:1] 안의 extensions 폴더 아래에 있는 폴더들 중, LightSMS인 폴더를 찾으셔야 합니다.

3. 압축을 푼 후 생긴 폴더 속 chrome 폴더 아래의 lightsms.jar파일을 찾습니다. 이미 설치된 확장을 수정하시는 경우도 마찬가지로 chrome아래의 lightsms.jar파일을 찾으셔야 합니다 (이건 유저마다 다르므로 파일 검색을 하시던가 일일이 들여다 보셔서 확인하시기 바랍니다). 이 파일도 마찬가지로 확장자를 jar에서 zip으로 바꾸신 후 압축을 풀어 줍니다. 그럼 content, locale, skin 이란 폴더들이나오는데, 이 중 수정이 필요한건 contentlocale안의 파일들입니다.

4.  content폴더 아래:
a. main.js 파일을 열어 다음 부분을 찾은 후,
  setStatus:function (str){
    document.getElementById("status").value=str;
  }
}

재로그인 관련 코드를 추가해서 이렇게 수정합니다. 이걸로 재로그인 하는 기능이 추가됩니다.
  setStatus:function (str){
    document.getElementById("status").value=str;
  },
  onRelogin:function(){
      this.setStatus("");
      main.nsILightSMS.initHandler();
  }
}

b. main.xul 파일을 열어 다음 부분을 찾은 후,
       <hbox>
        <button  label="&send;" onclick="main.onSend()"/>
        <button  label="&reset;" onclick="main.onReset()"/>
      </hbox>

재로그인 버튼을 추가합니다.
       <hbox>
        <button  label="&send;" onclick="main.onSend()"/>
        <button  label="&relogin;" onclick="main.onRelogin()"/> 
      </hbox>

이렇게 한 경우, 리셋 버튼이 재로그인 버튼으로 바뀝니다. 기호에 따라 기존의 버튼을 그대로 둔 상태로 세번째의 버튼을 구현하거나 하셔도 됩니다. 요는 <button  label="&relogin;" onclick="main.onRelogin()"/>  이것이 이 파일 어딘가 추가되어야 한다는 겁니다 (추가되는 위치에 따라 버튼의 위치가 바뀝니다).

5. locale폴더 아래 en-US ko-KR 폴더 속의:
a. lightsms.dtd 파일을 열어서:
       <!ENTITY relogin "[로그인 버튼 이름]">

[로그인 버튼 이름] 을 원하는 문구로 바꾸신 다음 그 파일 아무곳에나 추가해 주시면 됩니다.

이게 다 끝나면 다시 원래대로 묶어 주시면 작업이 끝납니다. 이미 인스톨 된 버전을 손보신 분은 파폭을 재시작해 주시고, xpi파일 자체를 받아서 수정하신 분은 그걸 가지고 설치해 주시면 됩니다.

저는 0.4.3으로는 로그인이 되질 않아 0.4버전을 써야 하기에, 그걸 수정해 보았습니다. 저와 같은 증상을 겪고 계신 분은 인스톨 되어 있는 LightSMS를 지우고 이걸 깔아주시면 아마 잘 될겁니다.


수정: 11월 18일자로 0.4.4 가 릴리즈 되었습니다. 이것도 마찬가지 방법으로 수정해 보았습니다.


  1. 프로필 폴더란 별도의 설정을 하지 않았다는 전제 하에, xxxxxxxx.default (.default앞은 랜덤)의 이름을 가진, 파폭의 모든 설정이 저장된 폴더를 말합니다. 위치는 일반적으로 다음과 같습니다.

    윈도우즈 XP/2000 : C:/Documents and Settings/[유저이름]/Application Data/Mozilla/Firefox/Profiles
    윈도우즈 비스타 : C:/users/[유저이름]/AppData/Roaming/Mozilla/Firefox/Profiles
    리눅스 : ~/.mozilla/firefox/
    Mac OS X : ~/Library/Application Support/Firefox/Profiles/
    [본문으로]

관련글 더보기