노트북에 Xubuntu를 또 깔다 .

Date
2009/04/20 14:00
Author
ApPLe
Categories


힝힝 .. 노트북에 또다시 Xubuntu를 깔았답 .
사실 깐 이유는 다름이아니라 .... 인터넷이 연결되어있지 않으면 SE서버에 접속해서 Vi를 쓸수 없기때문!! ㅋㅋ 이제는 인터넷이 없이도 자유롭게 Vi로 코딩을 할수있게 되었다 ㅋㅋ

위의 스크린샷은 Xubuntu를 깔고나서 nabi , jre1.6 , javac1.6 , gmcs , mono , 네이트온 , gftp , gtk# 등등을 깔아놓고 난  뒤의 스크린샷. 아참 . tty세팅도 했지 .

서버가 아닌관계로 ssh-server나 apache등등을 깔 필요가 없으니 간편했다 .
거기다 gmcs도 깔아서 리눅스에서도 C#코딩이 가능하니 .. 어찌 좋지 아니한가 ㅋㅋ

완전마음에 든다 ㅋㅋ Gnome환경이 아니라 Xface 환경이라서 가볍기도 하고 ..
낄낄 .....

참 .. 우리 동아리 프로젝트는 또다시 전환점을 맞았다 ;
교수님이 .... 개발계획서에 태클을 거신게 그 이유 .. 흐엉 ...
오늘도 학교가서 다들 모여서 개발계획서를 수정해보아야겠다 =_=ㅋㅋ

으흠 .
결론은

리눅스는 쓰기 매우 편하다는 이야기!
우분투보다 더 쓰기 편한 리눅스도 있을까 ? ㅎㅎ

ApPLe
2009/04/20 14:00 2009/04/20 14:00
Tag
Trackback
Comments
활의노래  2009/04/22 21:31  Reply  Delete
헉 나도 우분투 깔았는데 ㄷㄷ;;

진짜 우분투 편하긴 편하더라 ㅎㅎ VGA랑 무선랜도 한큐에 다 잡아주고 ㅎㅎ

그런데 문제는 내일 9.04 버전이 정식 릴리즈 된다는 사실(.............)
ApPLe  2009/04/23 20:32  Delete
헐퀴 ......

업그레이드나 할까 ㅋㅋㅋ

Xubuntu도 9.04가 나오는구먼 !!

C#을 리눅스에서?! Mono / Gtk# !!

Date
2008/11/28 03:40
Author
ApPLe
Categories
저번에 괴-_-담을 들은 적이 있다.

" C# 개발도 , 리눅스에서 가능혀. "
"풉!"

그때의 나는 한마디 비웃음을 가볍게 흘려주었다. =_=

'뭔소리여 ! .NET프레임워크가 완전 윈도우 종속적인 플랫폼인데 헛소리!'

그러나 ... 나는 븅신이었다 -_-
음... 역시 오픈소스 진영의 힘은 위대했다 ;;
MS에서 개발한 C#을 , 성공적으로 리눅스에서 돌아가도록 포팅한 것이었다;;

그 이름도 거룩한. mono.
리눅스에서 CLI 환경을 구축해서 , .NET 프레임워크의 어플리케이션들이 돌아가게 만든다 =_=.. 멋져부렁!

더 멋진건 .. C#뿐만이 아니라 ASP.NET / VB.NET 까지 돌아간다는것!!

그래서.. 난 당연히 테스트를 해보았다;
컴파일러는 gmcs .
기본적인 C# 콘솔모드 프로그래밍은 이상없이 잘 되었다.

그래서 대-_-망의 GUI 프로그래밍 개시!

using Windows.Form;

이놈을 적어넣고 vi에서 저장을 한후 , 설레이는 마음을 안고 살포시 ,gmcs를 써서 컴파일 하자 마자!

gmcs는 에러메시지로 나를 반겼다 -_-
그런 네임스페이스가 없다나 뭐라나 -_-

인터넷에서 조금 더 알아보았다.
Gtk# 이란 놈이 있었다.

사실 , Tk/Gtk는 전에 Python을 겉-_-핥기식으로 만져볼때 잠깐 만져보았던 놈인데 ,, 크로스플랫폼 GUI 프로그래밍 인터페이스 였던 걸로 기억했었는데..
이놈이 , C#언어에 맞게 '#'이란 타이틀을 달고 리눅스용으로 다시 태어난 것이었다.

Monodoc ( Gtk# / C#용 레퍼런스 ) 를 열심히 읽어보며 , 결국 ,, 난 리눅스 X윈도 상에서 창을 띄우고야 말았다 =_=ㅋㅋ 아우 신기혀;

아차. 팁 한가지!!
gmcs를 써서 Gtk#을 컴파일 할때는 다음과 같이 옵션을 주어 Gtk# 패키지를 지정해 주어야 정상적인 컴파일이 된다!

gmcs source.cs -pkg:gtk-sharp-2.0

음 .. 무튼 결론은 ..
C# MS윈도우즈 프로그래밍이랑 많이 다르지 않았다는게 신기했다.
이벤트 핸들러 등록도 그렇고,, 이벤트 핸들링 메소드에서도 인자도 거의 비슷하게 받았다. 이벤트 핸들링 클래스 이름도 거의 비슷하고..

음.. 근데 많이 다른점은.
MS윈도우즈에서는 , 컨트롤이 폼위에서의 상대좌표에 의해 배치되는 반면 , Gtk#은 , HBox , VBox , Table 이란 놈들로 폼 위에 격자모양으로 딱맞게 배치하는 식이었다.

으흐흐.. 그럼 이쯤에서 적절한 스크린샷.



멘트가 매우 방-_-정맞지만 이정도는 애교로 넘어가주세욤 =_=
무튼.. ㅎㅎ 매우 알기 쉬운 레퍼런스에 ,,
윈도우 C# forms프로그래밍이 가능하다면 ..
금방 익숙해 질수 있다 ; ㅎㅎ
C# 자체가 쉬운 면도 없진 않지만 .;;

사족.



코딩은 vi로 해야지 역시 초간지!!
으흐흐 =_= 전 변태가 된 겁니까 .. ㅜㅜ
콘솔변태 =_=ㅋㅋ




sample program code.

namespace HelloWorld
{
    using System;
    using Gtk;
    using Gdk;

    public class HelloWorld
    {
        public static void Main ( string[] args )
        {
            Application.Init ();
            Gtk.Window win = new Gtk.Window ( "Hello! ApPLe!NET" );

            win.DefaultHeight = 400;
            win.DefaultWidth = 400;

            VBox vbox = new VBox ();
           
            Label lblWelcome = new Label ();
            lblWelcome.Text = "처음으로 만들어보는 mono C# with Gtk#";
            vbox.Add ( lblWelcome );

            Button btn1 = new Button ( "누르면 종료되욤" );
            btn1.Clicked += new EventHandler ( Button1_OnClick );
            vbox.Add ( btn1 );

            Label lblContext = new Label ();
            string szContext = "Gtk로 하니까 참 재미있고 좋군하";
            szContext += "\nC#은 비쥬얼 스튜디오로만 만지다가 이걸로 하니 아주그냥~";
            szContext += "\nhttp://www.applenet.ze.to";
            lblContext.Text = szContext;
            vbox.Add ( lblContext );

            Button btn2 = new Button ( "누르면 글씨가 바뀔꺼예욤" );
            btn2.Clicked += new EventHandler ( Button2_OnClick );
            vbox.Add ( btn2 );

            win.Add ( vbox );

            win.DeleteEvent += new DeleteEventHandler ( Form_OnQueryUnload );
            win.ShowAll ();
            Application.Run ();
        }

        private static void Form_OnQueryUnload ( object sender , DeleteEventArgs e )
        {
            Application.Quit ();
        }

        private static void Button1_OnClick ( object sender , EventArgs e )
        {
            Application.Quit ();
        }

        private static void Button2_OnClick ( object sender , EventArgs e )
        {
            Button btn = (Button)sender;

            btn.Label = "하악하악";
        }
    }
}

ApPLe
2008/11/28 03:40 2008/11/28 03:40
Tag
Trackback
Comments
활의노래  2008/11/30 11:25  Reply  Delete
닷넷 프레임워크가 현재는 윈도용으로만 배포되지만 이것도 일종의 가상머신과 같은 역할을 하기 때문에, 상식적으로도, 이론적으로도 충분히 다른 OS에도 탑재가 가능합니다.

그렇지만 문제는 MS가 그렇게 할 리가 없다는거죠 =ㅅ=;;;
JJD  2008/11/30 18:47  Reply  Delete
역시 오픈소스진영 =_=b
멋지군욤 =_=

몰래 포팅.. 이라는 것이군욤 =_=
지나가다  2008/12/31 21:44  Reply  Delete
모노에서도 WinForms(2.0까지) 지원합니다!
http://www.mono-project.com/WinForms
JJD  2009/01/02 15:40  Delete
흐억

정말이군요 =_=

이럴수가 ㅋㅋ;;
1