블로그 이미지
암흑도깨비

세상의 지식이여 뚝딱~☆

Rss feed Tistory
프로그래밍/Linux 2012.01.12 10:30

Ubuntu Samba 설정 및 Window Network Driver로 연결하기

 이번 포스팅은 Ubuntu에서 Samba를 설정하고 Window에서 네트워크 드라이버를 연결하여 작업환경을
 구축해 보도록 하겠습니다.

 ubuntu 터미널에서

 # sudo apt-get install samba smbfs

 위의 samba와 smbfs 패키지를 설치하여 줍니다.
 설치가 완료되었으면은 samba의 config 파일을 약간 수정을 해주어야 합니다.

# sudo vi /etc/samba/smb.conf


위와 같이 'usershare owner only = false' 이 부분만 추가하여 주시면 됩니다.
그리고 난 후, 공유하시고자 하는 디렉토리에다가 권한설정을 풀로 줍니다.

# chmod 777 원하는 디렉토리명
(example) # chmod 777 /home/

그 다음은 Ubuntu의 메인화면으로 가셔서 그 디렉토리 선택 후, 마우스 오른쪽을 눌러주시면은
아래의 그림과 같이 'Sharing Options'을 선택합니다.



 (!!) 수정사항 : Allow others to create and delete files in this folder ( 채쿠룰 꼭 해요 )
 (!!) 수정사항 : Guest access (for people without a user account) ( 체크를 꼭 해제 )

 위의 그림과 같은 형태로 만들어 줍니다. 그리고나서 적용시켜주면은 됩니다.
 위에서 Modify Share라고 되어 있는 것은 제가 한 번 적용을 시켰기 때문에 나오는 메뉴이니 Apply 해주세요

 이제 Ubuntu에서 해야 할 작업은 전부 끝났습니다. 
 
 Window에서의 작업은 간단합니다.
 Explore 하나를 Open하신 후, 주소창에 Linux의 IP를 입력해주어야 합니다.

(!) Linux의 IP를 알아내는 방법
 # ifconfig


eth0 장치에 inet addr: 192.168.153.128 이라고 되어 있습니다. 이 ip주소를 익스플로워 주소창에 입력합니다.
아래의 그림처럼요


 그러면 아까 Ubuntu에서 공유설정을 해놓았던 디렉토리가 나옵니다.
 그 디렉토리를 오른쪽 클릭하셔서 네트워크 드라이브 연결 해주시면 끝~



저 같은 경우는 이미 z:가 잡혀 있는 상태이므로 y: 잡히는 모습입니다. 대부분 z: 드라이버가 잡혀 있을 것입니다.
마지막으로 Window에서 내컴퓨터에서 봤을 때 모습입니다.


이렇게 네트워크 드라이버가 연결이 되고, 소스코드를 작성하실 때, sourceinsight 등을 통해서 작업하시면 되겠습
니다.

긴 글 읽어주셔서 감사합니다.
분류없음 2012.01.11 20:46

WebKit GTK+ 참조되는 라이브러리 설명


 1. Autoconf 

 쉘 스크립트를 만드는 도구이다.
 Webkit nightly Source의 압축을 풀어보면은 configure 하는 스크립트가 존재하지 않는다.
 아마도 Audoconf 유틸리티 도구를 이용하여 configure를 생성하게 되고, 생성되면 이걸로 Config 환경을
 잡는 모양으로 생각해 볼 수 있다고 나름대로 추측한다.

 2. Automake

 Makefile을 만드는 도구이다.
 WebKit도 Opensource 특성상 Linux에서 컴파일을 편하게 하기 위하여 많이 사용하는 방법 중 하나는 'make'
 이러한 make를 하기 위해서는 참조되는 스크립트 파일이 필요한데 이것이 Makefile이다. 이러한 Makefile을 
 만드는 도구가 Automake이다.

 3. Autotools-dev 

 ac파일을 읽어 스크립트 파일로 만드는 도구?? 라고 조사를 해본 결과 나왔다.
 configure.ac 파일이 있다면은 이 configure.ac 파일을 통해서 config하게 되고, 스크립트에 적용이 된다.
 뭔가 참조하는 그런 중요한 라이브러리는 아니고 하나의 유틸리티 도구? 라고 생각하면 될 것 같다.

 4. bison

 GNU 파서 생성기로 yacc를 개선하고 대체하기 위해 만들어진 라이브러리이다. 
 LALR방식으로 작성된 문법을 처리하고 해석하여 C코드로 만들어 주는 역할을 하는 라이브러리라고 한다.
 라이센스는 GPL만 따른다면 비용을 지불할 필요가 없는 자유 소프트웨어라고 WIKI에 나와 있다.
 하지만 아직까지 초보인 나로써는 저렇게만 알고 넘어가야 할 것 같다.

 5. flex

 bison과 쌍을 이루어 구문 분석기를 만드는데 사용되는 라이브러리이다. C로 구문 분석 코드를 만들 수 있다고
 하는데 아직까지 사용해보진 않아서 잘 모르겠다. webkit에서는 의존성 있는 라이브러리이므로 설치는 필수!

 6. gail-3.0

 ATK에서 찾을 수 있는 추상적 인터페이스를 구현한다고 설명이 되어 있다. 추상적 인터페이스는 GTK+와 GNOME
 라이브러리와 같은 GUI로 접근하기 위하여 at-spi와 같은 접근을 용이하게 해주는 기술을 활성화한다 라고 설명이
 되어 있다. 아무래도 GTK+와 프레임버퍼 간의 매개체 역할을 하는 그런 라이브러리가 아닐까? 생각을 해본다.

 7. gawk

 특정 텍스트 파일에 효과를 주는 라이브러리라고 조사결과 나왔다. 확실하지는 않지만 CSS/HTML을 파서했을
 경우, 각각의 폰트에 효과를 주어야 하는데 이 때, 사용이 되지 않을까? 생각을 해본다. 현재도 GNOME에서는
 지속적으로 프로젝트를 진행하고 있다고 한다.

 8. gperf

 해시 함수 발생기 기능을 포함하고 있는 라이브러리라고 조사한 결과 나왔다. 문자열의 지정된 목록, 해시 함수와
 입력된 문자열에 따라 값을 찾고 C 또는 C++코드의 형태로 해시 테이블 생성을 할 수 있는 한마디로 해시 함수에
 특화되어 있는 라이브러리라고 추측을 한다. ?? 

 9. gtk-doc-tools 

 gtk-doc 한마디로 GTK 관련된 Document API를 생성하는 하나의 프로젝트이다.
 응용프로그램의 코드를 문서에서 사용할 수 있다고 하니, 아마 DEMO 버전에 나와 있는 GTK Source Code들을
 약간만 변형시켜준다면은 충분히 재사용이 가능하게 하는 뭐 그런 라이브러리이다. webkit build시, 요구를 하니
 설치를 해주자. 현재까지 나와 있는 라이브러리들은 apt-get 명령어를 이용해서 쉽게 설치가 가능하다. 

----- 1부 끝 ----- 

 Ps. 마침! webkit source의 build가 끝났다. 대략 걸린 시간은 30분19초.. 역시 스케일이 큰 프로젝트 빌드시간은 
       무진장 오래 걸리는 것 같다. 아.. 이제 webkit의 세계에 푹 빠져봐야겠다. 얼마나 잘 할 수 있을까? 
 

분류없음 2011.12.27 13:53

GTK+ 3.0 Menu 만들기


안녕하세요
암흑도깨비입니다. 요즘에는 GTK를 이용하여 이런저런 프로그램을 제작해 보고 있습니다. 

현재 그놈(GNOME)에서 GTK 3.0 버전을 내놓으면서 API들이 많이 바뀌었습니다. 
그리고 무엇보다 한국에서 떠도는 웹문서들은 거진 2.0을 이용하여 만들어 놓은거라
아래의 소스는 Menu 만드는 겁니다. 

 Example MenuBar source

#include <gtk/gtk.h>
void InitializeUserInterface()
{
 GtkWidget *Window;
 GtkWidget *MenuBox;
 GtkWidget *MenuBar;
 GtkAccelGroup *menuGroup;

 menuGroup = gtk_accel_group_new();
 
 /* Init Window setting */
 Window  = gtk_window_new(GTK_WINDOW_TOPLEVEL);
 gtk_window_set_title(GTK_WINDOW(Window), "Menubar test");
 gtk_window_set_default_size(GTK_WINDOW(Window), 400, 300);

 MenuBox = gtk_vbox_new(FALSE, 0);
 gtk_container_add(GTK_CONTAINER(Window), MenuBox);

 MenuBar = gtk_menu_bar_new();
 gtk_box_pack_start(GTK_BOX(MenuBox), MenuBar, FALSE, FALSE, 0);

 GtkWidget *FileMenu;
 FileMenu = gtk_menu_item_new_with_label("File");

 GtkWidget *MainMenu;
 MainMenu = gtk_menu_new();

 gtk_menu_item_set_submenu(GTK_MENU_ITEM(FileMenu), MainMenu);
 gtk_menu_shell_append(GTK_MENU_SHELL(MenuBar), FileMenu);

 GtkWidget *FileNew;
 FileNew = gtk_image_menu_item_new_with_label("New WebBrowser");
 gtk_menu_shell_append(GTK_MENU_SHELL(MainMenu), FileNew);

 gtk_window_add_accel_group(GTK_WINDOW(Window), menuGroup);

 gtk_widget_show_all(Window);
}

int main(int argc, char *argv[])
{
 gtk_init(&argc, &argv);
 InitializeUserInterface();

 gtk_main();

 return 0;


TOTAL 36,548 TODAY 0

티스토리 툴바