가장먼서 해야될 말은 단순하게 터미널 콘솔에서 자동완성을 하려면 알파벳 몇개를 입력한 다음에 탭키를 '⇔' 키를 누르면 되며 이와 같은 소스는 홈 폴더의 'bashrc'에 구성되어 있다. 

그리고 원리는 간단하다.  
 
사용자가 입력한 스펠링을 기준으로 매칭되는 파일 이름을 프로세스가 스스로 찾아 내는 것이다.

한데 분명 파일이 있는데에도 자동완성 기능이 동작하지 않는다면 같은 스펠링을 가진 다른 파일들이 존재하기 때문이다.

그런 간단히 알아 보도록하자. 



-- 터미널 텍스트 박스 (Terminal text box) --

<Drag와 복사가 가능합니다.>


user@user-test:~$ ls /usr/bin/se (까지만 타이핑 하고 엔터를 누르지 말고 탭'⇔'키를 여러번 눌러보자.) 


seahorsesensors-conf-convert

seapt   sepolgen-ifgen

seaudit-report    sepolgen-ifgen-attr-helper

sebstartseq

sechecker    serialver

secon   servertool

secutil sesearch

sediff  session-installer

sediffx session-migration

seesessreg

segetlogsetarch

seinfo  setfacl

select-default-iwrap   setfattr

select-editorsetkeycodes

semodule_depssetleds

semodule_expand   setlogcons

semodule_linksetmetamode

semodule_package  setpci

semodule_unpackagesetprop

sensible-browser  setreg

sensible-editor   setsid

sensible-pager    setterm

sensors setxkbmap


->  위와 같이 'se' 스펠링이 들어간 파일들이 전부 출력 된다.  (여러번 누르는 이유는 같은 스펠링을 가진 파일들이 존재 하기 때문이다.)


// 그렇다면 이번에는 'ls /usr/bin/sese' 까지 입력하고 탭'⇔'키를 눌러보자.


user@user-test:~$ ls /usr/bin/sese  ⇔  ls /usr/bin/sesearch   (자동완성 기입이 전부 이루어 진다. 'sese' 구문자가 명령이 하나밖에 없기 때문)


// 그렇다면 이번에는 's' 까지 입력하고 탭'⇔'키를 눌러보자.


user@user-test:~$ ls /usr/bin/s (⇔ 탭키 여러번)

Display all 239 possibilities? (y or n)


->  '그 s 문자가 포함된 후보 수가 많기 때문에 239가지의 파일들을 전부 보여줘도 될지를 사용자에게 물어본다.'




터미널에서 이와 같은 자동완성은 프로그램 명령어의 응용 에서도 이루어진다.

-- 터미널 텍스트 박스 (Terminal text box) --

<Drag와 복사가 가능합니다.>


user@user-test:~$ apt i (⇔ 탭키 apt install ) 


-> 사용자가 하려하는 명령어 인자를 자동으로 완성 한다. 

마찬가지 여기서도 만약 해당 스펠링에 대한 예비 인자들이 많을 경우 탭키를 여러번 누르면 사용 가능한 출력 된다.


user@user-test:~$ apt (⇔ 탭키 여러번)

autoclean     depends       help          purge         showsrc
autoremove    dist-upgrade  install       rdepends      source
build-dep     download      list          remove        update
changelog     edit-sources  moo           search        upgrade
clean         full-upgrade  policy        show    
-> 사용 가능한 명령 인자들이 전부 출력 된다.



하지만 위와 같은 프로그램 명령어 인자의 자동완성 기능은 전부 되는 것은 아니다. 
각 프로그램 개발자가 해당 소스를 구성 하여 설치 되겠금 프로그램을 설계 했을 경우에만 해당된다. 


도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린점이 있는 것 같다면 꼭 댓글로 알려 주시면 감사 하겠습니다.



plank는 리눅스에서 가장 심플한 독 프로그램이다.

독은 x-desktop에서 사용자 환경 편의와 디자인을 위하여 고안된 프로그램으로 애플의 운영체제인 mac에서 먼저 선을 보였던 프로그램 이다.

많은 리눅스 운영체제 커스터마이징에서 스스로만의 plank 아이템커스터마이징을 사용하는 경우가 많은데 그러한 방법을 알기 위하여
본격적으로 plank의 아이템들을 커스터마이징해 보도록 실습해 볼 것이다. 




가장 먼저 한가지 우선적으로 반드시 알아야 할 소스코딩 스크립트가 있다. 

소프트웨어 패키징 관리를 위하여 통합적인 재미난 스크립트를 하나 가지고 있다.

이미 아는 사람은 알겠지만 바로 그것은 .desktop 이라는 함축성 패키지 실행 관리 스크립트 파일이다.
스크립트이지만 그냥 config 파일이나 마찬가지이다. 

우선 그런 파일이 파일 시스템의 /usr/share/applications/* 에 수많이 각 소프트웨어 마다 존재 한다는 것을 알아 두자.

그리고 우선 plank가 설치되어 있다고 가정하고 터미널을 열고 다음 경로로 진입 하자.

-- 터미널 텍스트 박스 (Terminal text box) --

<Drag와 복사가 가능합니다.>

// plank의 아이템 목록 경로를 들여다 보자.


user@user-test:~$ ls ~/.config/plank/dock1/launchers


atom.dockitem     gimp.dockitem         nix.dockitem


-> 확장자가 .dockitem 이라는 파일들이 보인다. 

          바로 이 파일들이 커스터마이징을 위한 item 파일 들이다.



// 그리고 dockitem 파일중 하나를 들여다 보자.


user@user-test:~$ cat ~/.config/plank/dock1/launchers/gimp.dockitem


[PlankDockItemPreferences]

Launcher=file:///usr/share/applications/gimp.desktop 


-> 파일을 들여다 보니 '/usr/share/applications/gimp.desktop'  의 .desktop 파일로 런처가 연결되어 있는 것을 확인 할 수가 있다.





이러한 방식으로 소스를 구성하여 .dockitem파일을 만들어 새로운 아이템 커스터마이징을 할 수가 있는 것이다. 


도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린점이 있는 것 같다면 꼭 댓글로 알려 주시면 감사 하겠습니다.



Linux WINE ( Wine is not an emulator ) 실험실



고릴라 라디오

구동 여부 : 성공


구동 방법 :


1. 먼저 Adobe air를 설치 한다.

http://airdownload.adobe.com/air/win/download/latest/AdobeAIRInstaller.exe


2. 고릴라 라디오 최신버전을 설치 한다.

http://gorealradown.sbs.co.kr/gorealra/g4/Gorealra.4.063.air


http://w3.sbs.co.kr/radio/gorealraMain.do

sbs 라디오


버그 : 한글 버그


구동 wine : wine1.8 -32bit architecture


구동 시스템 사양 :


CPU

4x AMD Phenom(tm)



GPU

Vendor        : NVIDIA Corporation
Renderer        : GeForce GTX 460 SE/PCIe/SSE2
Version        : 4.5.0 NVIDIA 367.44


OS

Linux 4.4.0-28-generic_ Ubuntu xenial 16.04


필요 내장 라이브러리

adobeair


설치시 필요 구성


xp


도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린점이 있는 것 같다면 꼭 댓글로 알려 주시면 감사 하겠습니다.



자유라는 것은 과연 마음 내키는 대로 행동하고 아무렇게나 말 하는 것일까?


언론이든 문화권이든 요즘들어 흔히들 쓰는 용어가 있으니 그것은 바로 '표현의 자유' 라는 것이다.


또 이것은 자칭 진보진영이나 자칭 보수 진영이 상대 측을 공격하기 위한 도구로 사용되기도 한다.



자유는 한문으로 직역 한다면 '스스로 존재함' 을 의미한다.


즉 다시 말해서 자유의 진정한 의미는 자신의 삶과 길을 남이 구속함이 아닌 스스로 개척해 나가는 것을 의미 하는 것이다.


한데, 우리는 그 '자유'의 그 진정한 의미를 넘어서 매우 포괄적으로 해석 하고 있다.


남을 헐뜯는 것은 자유가 아니라 타인의 자유적 권리를 침해 하고 박해하는 것이다.


고로 그냥 생각나는 대로 마음대로 지껄이고 행동하는 것은 자유를 파괴하는 행위에 해당하며


그것이 누적 되면 공공의 자유는 절대권력으로부터 결국 박해를 당할 것이다.


정리 하자면 이렇다.


 " 자유의 의미는 자신의 길을 스스로 개척하고 자신의 삶을 스스로 선택하는 것을 의미 하는 것이지 타인의 기물이나 타인의 인격을 파괴 하는 행위와 타인의 자유에 대한 지나친 간섭은 자유가 아닌 잘못에 해당된다. "


도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린점이 있는 것 같다면 꼭 댓글로 알려 주시면 감사 하겠습니다.




웬만해선 각각의 desktop 에서는 프로세스들을 실시관 gui로 관리 할수 있는 task-manager를 제공한다.

하지만 리눅스 사용자라면 프로세스 확인과 종료에 대한 기본적인 원리를 알고 있어야 한다.

먼저 간단하게 프로세스를 볼 수 있는 명령어는 'ps' 이다.


// ps 명령어를 치면 나오는 것은 달랑 두개 이다.

$ ps

  PID TTY          TIME CMD
 2863 pts/1    00:00:00 bash
 2884 pts/1    00:00:00 ps

    # 이것은 현재 사용자가 콘솔로서 활용하고 있는 기초적인 CUI 현황을 나타내고 있는 TTY/PTS 정보 이다.

// 단도직입적으로 ps 정보를 포괄적으로 확인해 보자.

$ ps  -lea

F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0     1     0  0  80   0 - 29998 -      ?        00:00:02 systemd
1 S     0     2     0  0  80   0 -     0 -      ?        00:00:00 kthreadd
1 S     0     3     2  0  80   0 -     0 -      ?        00:00:00 ksoftirqd/0
1 S     0     4     2  0  80   0 -     0 -      ?        00:00:00 kworker/0:0
1 S     0     5     2  0  60 -20 -     0 -      ?        00:00:00 kworker/0:0H
1 S     0     7     2  0  80   0 -     0 -      ?        00:00:00 rcu_sched
1 S     0     8     2  0  80   0 -     0 -      ?        00:00:00 rcu_bh
1 S     0     9     2  0 -40   - -     0 -      ?        00:00:00 migration/0
5 S     0    10     2  0 -40   - -     0 -      ?        00:00:00 watchdog/0
5 S     0    11     2  0 -40   - -     0 -      ?        00:00:00 watchdog/1
1 S     0    12     2  0 -40   - -     0 -      ?        00:00:00 migration/1
1 S     0    13     2  0  80   0 -     0 -      ?        00:00:00 ksoftirqd/1
1 S     0    15     2  0  60 -20 -     0 -      ?        00:00:00 kworker/1:0H
5 S     0    16     2  0 -40   - -     0 -      ?        00:00:00 watchdog/2
1 S     0    17     2  0 -40   - -     0 -      ?        00:00:00 migration/2
1 S     0    18     2  0  80   0 -     0 -      ?        00:00:00 ksoftirqd/2
1 S     0    20     2  0  60 -20 -     0 -      ?        00:00:00 kworker/2:0H
5 S     0    21     2  0  80   0 -     0 -      ?        00:00:00 kdevtmpfs
1 S     0    22     2  0  60 -20 -     0 -      ?        00:00:00 netns
1 S     0    23     2  0  60 -20 -     0 -      ?        00:00:00 perf
1 S     0    24     2  0  80   0 -     0 -      ?        00:00:00 khungtaskd
1 S     0    25     2  0  60 -20 -     0 -      ?        00:00:00 writeback
1 S     0    26     2  0  85   5 -     0 -      ?        00:00:00 ksmd
1 S     0    27     2  0  99  19 -     0 -      ?        00:00:00 khugepaged
1 S     0    28     2  0  60 -20 -     0 -      ?        00:00:00 crypto
1 S     0    29     2  0  60 -20 -     0 -      ?        00:00:00 kintegrityd
1 S     0    30     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0    31     2  0  60 -20 -     0 -      ?        00:00:00 kblockd
1 S     0    32     2  0  60 -20 -     0 -      ?        00:00:00 ata_sff
1 S     0    33     2  0  60 -20 -     0 -      ?        00:00:00 md
1 S     0    34     2  0  60 -20 -     0 -      ?        00:00:00 devfreq_wq
1 S     0    35     2  0  80   0 -     0 -      ?        00:00:00 kworker/u6:1
1 S     0    38     2  0  80   0 -     0 -      ?        00:00:00 kswapd0
1 S     0    39     2  0  60 -20 -     0 -      ?        00:00:00 vmstat
1 S     0    40     2  0  80   0 -     0 -      ?        00:00:00 fsnotify_mark
1 S     0    41     2  0  80   0 -     0 -      ?        00:00:00 ecryptfs-kthrea
1 S     0    57     2  0  60 -20 -     0 -      ?        00:00:00 kthrotld
1 S     0    58     2  0  60 -20 -     0 -      ?        00:00:00 acpi_thermal_pm
1 S     0    59     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0    60     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0    61     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0    62     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0    63     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0    64     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0    65     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0    66     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0    67     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0    68     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0    69     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0    70     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0    71     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0    72     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0    73     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0    74     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0    75     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0    76     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0    77     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0    78     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0    79     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0    80     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0    81     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0    82     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0    83     2  0  80   0 -     0 -      ?        00:00:00 scsi_eh_0
1 S     0    84     2  0  60 -20 -     0 -      ?        00:00:00 scsi_tmf_0
1 S     0    85     2  0  80   0 -     0 -      ?        00:00:00 scsi_eh_1
1 S     0    86     2  0  60 -20 -     0 -      ?        00:00:00 scsi_tmf_1
1 S     0    91     2  0  60 -20 -     0 -      ?        00:00:00 ipv6_addrconf
1 S     0   105     2  0  60 -20 -     0 -      ?        00:00:00 deferwq
1 S     0   106     2  0  60 -20 -     0 -      ?        00:00:00 charger_manager
1 S     0   108     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0   110     2  0  60 -20 -     0 -      ?        00:00:00 bioset
1 S     0   171     2  0  80   0 -     0 -      ?        00:00:00 kworker/2:2
1 S     0   257     2  0  60 -20 -     0 -      ?        00:00:00 kpsmoused
1 S     0   276     2  0  80   0 -     0 -      ?        00:00:00 kworker/0:2
1 S     0   546     2  0  60 -20 -     0 -      ?        00:00:00 kworker/0:1H
1 S     0   548     2  0  80   0 -     0 -      ?        00:00:00 jbd2/sda1-8
1 S     0   549     2  0  60 -20 -     0 -      ?        00:00:00 ext4-rsv-conver
1 S     0   560     2  0  60 -20 -     0 -      ?        00:00:00 kworker/2:1H
1 S     0   589     2  0  80   0 -     0 -      ?        00:00:00 kauditd
4 S     0   593     1  0  80   0 -  7443 -      ?        00:00:00 systemd-journal
4 S     0   635     1  0  80   0 - 11312 -      ?        00:00:00 systemd-udevd
1 S     0  1101     2  0  60 -20 -     0 -      ?        00:00:00 iprt-VBoxWQueue
4 S   100  1110     1  0  80   0 - 25596 -      ?        00:00:00 systemd-timesyn
1 S     0  1302     2  0  60 -20 -     0 -      ?        00:00:00 kworker/1:1H
1 S     0  1464     2  0  60 -20 -     0 -      ?        00:00:00 ttm_swap
4 S     0  1634     1  0  80   0 -  9444 -      ?        00:00:00 cron
4 S   109  1636     1  0  80   0 - 91157 -      ?        00:00:00 whoopsie
4 S     0  1638     1  0  80   0 -  7157 -      ?        00:00:00 systemd-logind
0 S     0  1643     1  0  80   0 -  1100 -      ?        00:00:00 acpid
4 S     0  1649     1  0  80   0 - 71238 -      ?        00:00:00 accounts-daemon
4 S     0  1653     1  0  80   0 - 56870 -      ?        00:00:00 snapd
4 S   106  1675     1  0  80   0 - 11022 -      ?        00:00:00 dbus-daemon
4 S     0  1744     1  0  80   0 - 132990 -     ?        00:00:00 NetworkManager
4 S   104  1747     1  0  80   0 - 64099 -      ?        00:00:00 rsyslogd
4 S   111  1753     1  0  80   0 - 11197 -      ?        00:00:00 avahi-daemon
4 S     0  1759     1  0  80   0 - 84346 -      ?        00:00:00 ModemManager
4 S     0  1847     1  0  80   0 - 87593 -      ?        00:00:00 lightdm
5 S     0  1848     1  0  80   0 -  4868 -      ?        00:00:00 irqbalance
1 S   111  1850  1753  0  80   0 - 11197 -      ?        00:00:00 avahi-daemon
4 S     0  1853     1  0  80   0 - 68706 -      ?        00:00:00 cups-browsed
4 S     0  1858     1  0  80   0 - 69684 -      ?        00:00:00 polkitd
4 S     0  1884     1  0  80   0 -  6034 -      ?        00:00:00 vsftpd
4 S     0  1902  1847  0  80   0 - 67517 -      tty7     00:00:07 Xorg
4 S     0  1905  1744  0  80   0 -  4030 -      ?        00:00:00 dhclient
4 S 65534  1918  1744  0  80   0 - 15409 -      ?        00:00:00 dnsmasq
4 S     0  2085  1847  0  80   0 - 57059 -      ?        00:00:00 lightdm
4 S  1000  2091     1  0  80   0 - 11303 ep_pol ?        00:00:00 systemd
5 S  1000  2093  2091  0  80   0 - 15902 -      ?        00:00:00 (sd-pam)
4 S  1000  2096  2085  0  80   0 - 13751 poll_s ?        00:00:00 upstart
1 S  1000  2174  2096  0  80   0 - 10407 poll_s ?        00:00:00 upstart-udev-br
1 S  1000  2175  2096  0  80   0 - 10867 ep_pol ?        00:00:00 dbus-daemon
1 S  1000  2214  2096  0  80   0 - 10391 poll_s ?        00:00:00 upstart-dbus-br
1 S  1000  2216  2096  0  80   0 - 10391 poll_s ?        00:00:00 upstart-dbus-br
1 S  1000  2218  2096  0  80   0 - 12553 poll_s ?        00:00:00 upstart-file-br
1 S  1000  2221  2096  0  80   0 - 69742 poll_s ?        00:00:00 fcitx
1 S  1000  2225  2096  0  80   0 - 53571 -      ?        00:00:00 gnome-keyring-d
1 S  1000  2238  2096  0  80   0 - 43873 -      ?        00:00:00 gpg-agent
4 S     0  2260     1  0  80   0 -  6177 -      tty1     00:00:00 agetty
1 S  1000  2263  2096  0  80   0 - 10725 ep_pol ?        00:00:00 dbus-daemon
1 S  1000  2270  2096  0  99  19 -  6909 poll_s ?        00:00:00 fcitx-dbus-watc
0 S  1000  2284  2096  0  80   0 -  1127 wait   ?        00:00:00 sh
0 S  1000  2295  2284  0  80   0 - 82080 poll_s ?        00:00:00 xfce4-session
0 S  1000  2297  2096  0  80   0 - 11910 poll_s ?        00:00:00 xfconfd
0 S  1000  2305  2096  0  80   0 - 55231 poll_s ?        00:00:00 xfwm4
0 S  1000  2309  2096  0  80   0 - 70151 poll_s ?        00:00:00 xfce4-panel
0 S  1000  2311  2096  0  80   0 - 44770 poll_s ?        00:00:00 Thunar
0 S  1000  2313  2096  0  80   0 - 116333 poll_s ?       00:00:00 xfdesktop
0 S  1000  2314  2295  0  80   0 - 80764 poll_s ?        00:00:00 xfce4-clipman
0 S  1000  2315  2295  0  80   0 - 156346 poll_s ?       00:00:05 docky
1 S  1000  2318  2096  0  80   0 - 93629 poll_s ?        00:00:00 xfsettingsd
0 S  1000  2322  2096  0  80   0 - 70846 poll_s ?        00:00:00 gvfsd
0 S  1000  2325  2295  0  80   0 - 133445 poll_s ?       00:00:00 light-locker
0 S  1000  2329  2295  0  80   0 - 156116 poll_s ?       00:00:00 update-notifier
0 S  1000  2332  2295  0  80   0 - 145994 poll_s ?       00:00:01 blueman-applet
0 S  1000  2333  2295  0  80   0 - 61282 poll_s ?        00:00:00 applet.py
1 S  1000  2336  2096  0  80   0 - 80433 poll_s ?        00:00:00 xfce4-power-man
0 S  1000  2338  2295  0  80   0 - 167782 poll_s ?       00:00:00 nm-applet
1 S  1000  2339  2096  0  80   0 - 113693 poll_s ?       00:00:00 xfce4-volumed
0 S  1000  2342  2096  0  80   0 - 101715 futex_ ?       00:00:00 gvfsd-fuse
0 S  1000  2344  2295  0  80   0 - 112642 poll_s ?       00:00:00 polkit-gnome-au
4 S     0  2359     1  0  80   0 - 89005 -      ?        00:00:00 upowerd
0 S  1000  2365  2096  0  80   0 - 44633 poll_s ?        00:00:00 dconf-service
1 S  1000  2378  2096  0  69 -11 - 108894 poll_s ?       00:00:00 pulseaudio
4 S   117  2379     1  0  81   1 - 45886 -      ?        00:00:00 rtkit-daemon
0 S  1000  2399  2096  0  80   0 - 84440 poll_s ?        00:00:00 at-spi-bus-laun
0 S  1000  2404  2399  0  80   0 - 10692 ep_pol ?        00:00:00 dbus-daemon
0 S  1000  2406  2096  0  80   0 - 51744 poll_s ?        00:00:00 at-spi2-registr
0 S  1000  2422  2309  0  80   0 - 111246 poll_s ?       00:00:00 panel-1-whisker
0 S  1000  2428  2309  0  80   0 - 42015 poll_s ?        00:00:00 panel-4-systray
0 S  1000  2429  2309  0  80   0 - 81273 poll_s ?        00:00:00 panel-5-power-m
0 S  1000  2430  2309  0  80   0 - 116543 poll_s ?       00:00:00 panel-6-indicat
0 S  1000  2446  2096  0  80   0 - 17597 poll_s ?        00:00:00 gconfd-2
0 S  1000  2451  2096  0  80   0 - 13721 poll_s ?        00:00:00 upstart
0 S  1000  2453  2451  0  80   0 - 106798 poll_s ?       00:00:00 indicator-messa
0 S  1000  2454  2451  0  80   0 - 168211 poll_s ?       00:00:00 indicator-sound
0 S  1000  2456  2451  0  80   0 - 98985 poll_s ?        00:00:00 indicator-appli
0 S  1000  2477  2096  0  80   0 - 73649 poll_s ?        00:00:00 gvfs-udisks2-vo
4 S     0  2480     1  0  80   0 - 91898 -      ?        00:00:00 udisksd
0 S  1000  2494  2096  0  80   0 - 103144 poll_s ?       00:00:00 gvfs-afc-volume
0 S  1000  2500  2096  0  80   0 - 70163 poll_s ?        00:00:00 gvfs-gphoto2-vo
0 S  1000  2505  2096  0  80   0 - 67114 poll_s ?        00:00:00 gvfs-mtp-volume
0 S  1000  2510  2096  0  80   0 - 66623 poll_s ?        00:00:00 gvfs-goa-volume
0 S  1000  2518  2096  0  80   0 - 89922 poll_s ?        00:00:00 gvfsd-trash
0 S  1000  2525  2096  0  80   0 - 48726 poll_s ?        00:00:00 gvfsd-metadata
0 S  1000  2538  2096  0  80   0 - 37585 poll_s ?        00:00:00 obexd
1 S     0  2701     2  0  80   0 -     0 -      ?        00:00:00 kworker/1:0
1 S     0  2793     2  0  80   0 -     0 -      ?        00:00:00 kworker/u6:0
1 S     0  2797     2  0  80   0 -     0 -      ?        00:00:00 kworker/2:0
1 S     0  2818     2  0  80   0 -     0 -      ?        00:00:00 kworker/1:2
0 S  1000  2858  2096  0  80   0 - 108202 poll_s ?       00:00:00 xfce4-terminal
0 S  1000  2862  2858  0  80   0 -  3718 -      ?        00:00:00 gnome-pty-helpe
0 S  1000  2863  2858  0  80   0 -  7830 wait   pts/1    00:00:00 bash
5 S 65534  2885  1884  0  80   0 -  8670 -      ?        00:00:00 vsftpd
5 S  1000  2887  2885  0  80   0 -  8676 -      ?        00:00:00 vsftpd
1 S     0  2890     2  0  80   0 -     0 -      ?        00:00:00 kworker/u6:2
0 R  1000  2895  2863  0  80   0 -  9421 -      pts/1    00:00:00 ps

    # 현재 사용되고 있는 모든 프로세스 현황을 볼수가 있으며 마지막 프로세스에 방금전 수행한 'ps' 명령어 떠 있는 것을 확인 할수가 있다.

// 그렇다면 저 프로세스들 중 하나인 독 프로그램인 'docky' 애플리케이션을 종료 해보도록 하자.
( 종료는 pid 번호를 활용 하며 명령어는 kill 이다.)


// 먼저 grep을 활용하여 docky 하나만을 확인하자.

$ ps  -lea |grep docky

0 S  1000  2315  2295  0  80   0 - 156346 poll_s ?       00:00:06 docky

    # 여기서 'docky'의 PID는 2315 이다.

// docky를 강제 종료해 보자.

$ kill -9 2315
    (권한 문제로 종료 되지 않는 프로세스는 'sudo kill (pid)'로써 종료를 시도 하거난 루트 상태(sudo -s) 에서 종료를 시도한다.)

// 프로세스가 종료 되었는지 확인해 보자.

$ ps  -lea |grep docky

    # 아무것도 나오지 않는 다면 성공한 것이다.





 지금까지 프로세스 확인 방법과 PID를 이용한 프로세스 종료 방법을 알아 보았다.

그렇다면 이번에는 좀 더 수월한 방법인 프로세스 이름을 활용하여 해당 프로세스를 종료 보도록 해 보겠다.


// 'killall' 명령을 사용하여 해당 프로세스를 종료 시킨다.

$ killall -9 docky

    # 아무것도 나오지 않는 다면 성공한 것이다.



    // 만약 killall이 수행 되지 않는다면 'psmisc'패키지를 설치 해야 한다.

    $ sudo apt install psmisc


  



 

도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린점이 있는 것 같다면 꼭 댓글로 알려 주시면 감사 하겠습니다.





[개발 계획] 리눅스의 보안 상황을 gui로 보여주는 slog , selog로 전면 재수정


위의 프로젝트 'slog' 를 다시 원이름 이였던 'selog'로 바꾸면서 그 형태와 방식 전부 바꿀 예정 입니다.



개발 언어 : bash, 파이썬


개발 완료 예정 : 한달 이상



[Linux ubuntu software]


name : slog ( Security Log for ubuntu)


버전 : 0.1


architecture :


64비트


지원 운영체제 :


wily. xenial, vivid, trusty, 리눅스 민트 설치가능.


내용 : 


netstat, selinux , ufw (firewall) 등의 보안 모듈들의 로그를 한번에 gtk로 보여주고 그것을 시간별로 저장 까지 할 수 있는 gtk 소프트웨어 입니다.


특이사항 :


기존의 selog 소프트웨어를 본격 개선하여 리빌드 한 소프트웨어 입니다.


package PPA :


launchpad/~cosmosp2016


제작자 : C O S M O S Project.


-Install-


sudo apt-add-repository ppa:cosmosp2016/util

sudo apt update

sudo apt install slog


Run :


slog



[개발 계획] selinux를 자동 전환 시켜 주는 프로젝트 'seuper' 전면 수정 계획


1월 중순 즈음에 'seuper'라는 프로그램을 개발 하여 정식 배포 하였습니다.


'seuper'는 selinux의 currunt 모드 상태를 자동으로 'enforcing' 상태를 'permissive' 상태로 변환 하고 정책 프로그램이 종료 되면 다시 복구 변환 하는 인공지능 형태의 selinux 정책 변환기 입니다. [바로가기]


물론 seuper 프로그램이 enable로 동작할 경우 seupro 프로세스가 정책 프로그램의 프로세스 구동 상태를 실시간으로 파악하여 selinux을 제어 하지만 프로세스를 실시간 감시하는 seupro 프로세스와 연계 구동되는 pidchk 프로세스가 구동 되는데 있어서 사실상 프로세스 사용률이 인체의 심장 박동이 이루어지는 것 처럼 초당 동작하게 설계 되어 있습니다. 물론 이 방식은 사용자가 운영체제를 사용하는 데에 있어서 지장과 부담을 초래 할 수 있습니다.


또 seuper 가 boot 모드로 동작할 경우 '/etc/sudoers'의 동작 방식이 보안적으로 불안한 요소가 있습니다.

(seuper 이후 업데이트에서 수정 계획)


본 개발자는 위 두 가지를 전부 해결 할 수 있는 전혀 다른 방식의 selinux를 컨트롤 할 수 있는 seuper 2세대를 개발할 계획 입니다.


뿐만 아니라 정책 적용을 컴파일화 하여 외부 해커가 만든 프로그램이 이를 변조하지 못하도록 막으며 설치 방식 또한 추가 레파시토리에서 해당 아키텍쳐에 대한 컴파일 된 형태로 정책 프로그램을 받아 오는 설치 방식이 될 예정 입니다.


그리고 seuper 2세대 개발이 완료된 이후 seuper 3세대인 selinux-gui로 재 개편하여 개발 할 예정이며


사용자가 gui 환경에서 명령 형태의 정책 추가를 직접 할 수 있도록 설계할 계획 입니다.


C O S M O S Project. < http://cosmosproject2015.tistory.com , cosmosproject15@gmail.com >





Linux WINE ( Wine is not an emulator ) 실험실



  • 고릴라 라디오

구동 여부 : 성공


구동 방법 :


1. 먼저 Adobe air를 설치 한다.

http://airdownload.adobe.com/air/win/download/latest/AdobeAIRInstaller.exe


2. 고릴라 라디오 최신버전을 설치한 adobe_air로 설치 한다.

http://gorealradown.sbs.co.kr/gorealra/g4/Gorealra.4.063.air


http://w3.sbs.co.kr/radio/gorealraMain.do

sbs 라디오


버그 : 한글 버그


구동 wine : wine1.8 -32bit architecture


구동 시스템 사양 :


CPU

4x AMD Phenom(tm)



GPU

Vendor        : NVIDIA Corporation
Renderer        : GeForce GTX 460 SE/PCIe/SSE2
Version        : 4.5.0 NVIDIA 367.44


OS

Linux 4.4.0-28-generic_ Ubuntu xenial 16.04


필요 내장 라이브러리

adobeair


필요 구성


xp




흔히들 리눅스에서 가장 쓸만한 오피스(Office)는 '리브레 오피스' 라고들 한다.


하지만 본 필자가 경험 하기로는 리브레 오피스가 잔 버그가 많고 writer 소프트웨어가 특히 문자 구문 표현 오류가 있는게 아닌가 싶다.


특히 램에 상주 되는 과정 또한 뭔가 많이 버겁다.


그래서 본 필자는 작년부터 대신 '오픈 오피스'를 사용 해왔는데 성능이나 안정성 그리고 문자 상호 호환성에 대해서도 오픈 오피스가 훨씬 더 낫다는 것을 깨달았다.


사실 오픈 오피스가 그 리브레 오피스의 모태가 되는 소스코드 소프트웨어다.


그리고 현재로서는 아파치 재단이 오픈 오피스의 판권을 보유 하고 있지만 그 이전에는 오라클이 또 그 이전에는 썬 마이크로시스템이 '스타 오피스' 라는 명칭의 소프트웨어였다.


그 이후 선 마이크로 시스템이 스타 오피스의 소스 코드를 공개하고 오라클이 상용화를 목적으로 썬마이크로 시스템을 인수 하는데 생각처럼 오픈 오피스의 개발과 상용화가 어려웠다.


여기서 많은 논쟁이 있는데 리브레 오피스가 탄생한 이유가 개발자들이 오픈 소스의 시대적 관념을 가지고 'The Document Foundation' (문서 재단)을 만들어 이후 libre office로 재개발 되었다는 의견도 있으며 단순히 오라클의 개발 부진 때문 이라는 얘기도 있는 등 여러 논쟁이 있다.


간단히 말하자면 흐름도는


스타 오피스 ⇒ 오픈 오피스 ⇒ 리브레 오피스 

로 볼수가 있다.



그 사실은 개발자들 스스로가 정확히 알고 있을 것이다.


어찌 되었던 간에 리브레 오피스와 아파치 오픈 오피스가 둘 다 공존하기 시작했다.


한 데 중요한 것은 오픈 오피스와 리브레 오피스가 (리눅스일 경우) 파일 시스템 내부적으로도 프로세스 파일의 공동 사용 즉 심볼릭 링크가 겹치기 때문에 사용자는 아쉽게도 둘 중 한가지를 양자 택일 해야 한다.


물론 두 소프트웨어를 같이 사용하는 것이 불가능 한 것은 아니다.

물론 리브레 오피스와 오픈 오피스 두가지를 같이 설치 하여 사용하는 것도 가능하다. [바로가기]



그리고 보통 대부분의 리눅스들은 기본적으로 오피스 소프트웨어를 리브레 오피스로 채택하고 있으며 우분투의 정식 레파시토리 또한 리브레 오피스 만을 지원한다.


아무래도 그것은 The Document Foundation 의 영향력이 크기 때문일 것이다.



다음 포스팅에서 설치 방법에 대해 알아 보도록 하자.



다음 페이지 (설치하는 방법 바로가기)










이 전 포스트에 이어서 이제는 우분투 리눅스에 '아파치 오픈 오피스'를 직접 설치해 보도록 하겠습니다.




-- 터미널 텍스트 박스 (Terminal text box) --

<Drag와 복사가 가능합니다.>

// 다운받을 디렉토리를 만든다.


user@user-test:~$ mkdir office && cd office




// 오픈 오피스 최신판을 다운 받는다.


user@user-test:~/office$  wget http://sourceforge.net/projects/openofficeorg.mirror/files/4.1.3/binaries/ko/Apache_OpenOffice_4.1.3_Linux_x86-64_install-deb_ko.tar.gz


// 다운 받은 압축 파일을 풀어 낸다.


user@user-test:~/office$ tar -xvzf *.tar.gz




// 풀어낸 파일 .deb파일들을 설치 한다.


user@user-test:~/office$ sudo dpkg -i ko/DEBS/*.deb



// DEBS 폴더에 있는 'desktop-integration' 폴더 안에 있는 패키지 하나를 설치 한다. 


user@user-test:~/office$ sudo dpkg -i ko/DEBS/desktop-integration/*.deb



DEBS 폴더에 있는 'desktop-integration' 폴더 안에 있는 패키지 하나를 설치 한다.


물론 리브레 오피스와 오픈 오피스 두가지를 같이 설치 하여 사용하는 것도 가능하다. [바로가기]




도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린점이 있는 것 같다면 꼭 댓글로 알려 주시면 감사 하겠습니다.



리브레 오피스가 깔려 있는 상태에서 오픈 오피스를 설치 하는 것은 가능하며 뿐만 아니라 사실상 두 소프트웨어를 동시에 실행 하는 것도 가능하다.


하지만 순서가 리브레오피스가 깔린 상태에서 오픈 오피스를 설치 하는 방식이 되어야 dpkg --remove 오류를 피할수가 있다.

원리는 이러하다.


원래 두 소프웨어가 완벽하게 공존하기 힘든 이유는 '/usr/bin/soffice' 로써 심볼릭링크를 똑같이 쓰고 있기 때문이다. 

하지만 리브레 오피스가 설치된 상태에서 오픈 오피스스를 desktop-integration 설치 없이 기본만 설치 했을 경우 정식 설치 폴더인 '/opt/openoffice4'에 들어 있는 소프트웨어를 직접 실행 하는 방식으로 두 소프트웨어를 같이 활용 할수가 있는 것이다.  

먼저 리브레 오피스가 설치 되어 있는 상태라 가장 하자.

먼저 오픈 오피스 최신판을 다운 받는다.


-- 터미널 텍스트 박스 (Terminal text box) --

<Drag와 복사가 가능합니다.>

// 다운받을 디렉토리를 만든다.


user@user-test:~$ mkdir office && cd office




// 오픈 오피스 최신판을 다운 받는다.

user@user-test:~/office$  wget http://sourceforge.net/projects/openofficeorg.mirror/files/4.1.3/binaries/ko/Apache_OpenOffice_4.1.3_Linux_x86-64_install-deb_ko.tar.gz


// 다운 받은 압축 파일을 풀어 낸다.


user@user-test:~/office$ tar -xvzf *.tar.gz




// 풀어낸 파일 .deb파일들을 설치 한다.


user@user-test:~/office$ sudo dpkg -i ko/DEBS/*.deb




위 까지 작업을 끝내면 우선 오픈 오피스가 파일시스템 /opt에 설치가 된 것이다.

실행은 '/opt/openoffice4/program/soffice' 가능하다. 

하지만 터미널에서 간편하게 실행 하기 위해서 다음과 같은 코딩 작업을 하자.


Source_File name : openoffice

[Download]

Type : bash

클립보드로 복사 → (본문 클릭)

무제


파일을 만들었으면 '/usr/bin'으로 해당 파일을 카피 하자.

-- 터미널 텍스트 박스 (Terminal text box) --

<Drag와 복사가 가능합니다.>

// 먼저 만든 파일에 대한 실행 속성을 추가한다.


user@user-test:~/office $ chmod +x openoffice



// 만든 파일을 $PATH예 복사한다.


user@user-test:~/office $ sudo cp openoffice /usr/bin



// 실행을 해보도록 하자.



user@user-test:~/office $ openoffice



// 워드 실행


user@user-test:~/office $ openoffice -writer



// 스프레드시트 실행


user@user-test:~/office $ openoffice -calc



// impress 실행


user@user-test:~/office $ openoffice -impress



// 그리기 실행


user@user-test:~/office $ openoffice -draw



위 사진과 같이 리브레 오피스와 오픈오피스 두 소프트웨어를 두개다 실행이 가능하다.


도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린점이 있는 것 같다면 꼭 댓글로 알려 주시면 감사 하겠습니다.



현재 반기문 전 총장에 대한 논란이 끊임없이 일어나고 있다.

심지어 감정 다툼 까지 일어날수 있는 상황에 까지 이르렀다고 판단 된다.

가장 먼저 하고 싶은 말은 반기문씨가 위임했던 UN 사무 총장은 정치가 아니라 관료 였다고 생각한다.

반기문씨의 사무총장으로써의 두번의 재임 기간은 상당히 길었으며 그 동안의 대한민국의 정치 판은 변해도 너무도 변했는데 너무도 더 삭막하게 변했다는 것이다.

"즉 반기문씨가 이 대한민국 정치 판에 끼어 드는 것은 너무나도 무리수 라는 것이다."

만약 다른 나라에서 정치 판을 굴렀다면 모를까 허나 그렇다 하더라도 이 나라의 진.보수의 치열한 견제는 다른 나라 보다 매우 극심하다. 

그 이유는 마주하고 있는 북한의 존재의 그 영향이 가장 크게 작용하기 때문이다.

현재 대한민국은 큰 상처 없이 어두운 과거의 잔재를 청산해야 하는 큰 숙제를 안고 있다.

반기문씨의 "더 이상 진보 보수가 없는 정치"를 그럴듯 하게 주장하고 있지만... 누구나 말은 그럴싸 하게 할 수 있다.

"하지만 그것을 실현 하려면 지난날의 어두운 과거를 반드시 청산 해야 한다."

그리고 자칭 보수,우파라 칭하는 사람들도 스스로써 과거의 독재의 어두움에서 더 이상 힘을 빌어서는 안된다.

그렇지 아니하면 그 어두운 역사가 다시 살아나기 위해 국민들끼리의 싸움을 부추길 것이다. 

우리가 이 싸움에 휘말려서야 되겠는가?

같은 국민들끼리 이 싸움에 휘말리지 않으려면 반드시 어두운 과거를 청산 해야만 하는데 만약 새로운 정치도 눈가리기 식으로 넘어가겠다는 정치를 한다면 어두운 과거가 국민들 앞에 또다시 서 기득권을 빼앗아 갈 것이다.

그 기득권은 국민의 권리와 권력을 빼앗아 이룩하는 것이며

그리고 북한을 대한민국으로 합병 통일 시키려면... 먼저 우리의 어두운 과거 독재를 반드시 청산 해야 한다. 

그래야만 북한의 독재와 중앙집권주의적 기득권도 그 입지와 힘을 잃게 할 수 있다.

  

도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린점이 있는 것 같다면 꼭 댓글로 알려 주시면 감사 하겠습니다.


기본적으로 파일시스템은 프로그램 자체에 if문이나 case문으로 인자 ($1~10) 값을 처리하는 자동완성을 콘솔 밖에서 bash가 자동으로 잡아내지는 못한다.

그와 같은 응용 프로그램에 사용되는 자동완성 기능은 파일시스템의 '/etc/bash_completion'이 담당 하며 '/etc/bash_completion.d/~' 폴더를 들여다 보면 해당 프로그램에 대한 자동완성 기능이 있는 쉘 구축 파일들을 볼 수가 있다.

해당 파일들은 '/etc/bash_completion'가 처리 할 수 있는 함수들이 있으며 소크 코드의 형태를 이해하면 여러분도 직접 만든 응용 프로그램에 대한 자동완성 인자 값 추가 기능을 파일 시스템에 도입 할 수가 있다.

자 그렇다면 쇠뿔도 단 김에 빼라고 곧바로 소스코딩에 들어가 보자.

먼저 실행 가능한 $PATH에 실행 가능한 프로그램이 있어야 한다. 

그래서 간단한 shell 프로그램을 설계해 보자.

Source_File name : friend.sh

[Download]  

Type : bash

클립보드로 복사 → (본문 클릭)

무제



위는 인자 쉘에서 인자값을 인지하여 출력하는 간단한 대화형 출력 프로그램 이다.

완성 되었으면 간단하게 테스트를 해보자.

-- 터미널 텍스트 박스 (Terminal text box) --

<Drag와 복사가 가능합니다.>

// 파일명을 'friend'로 바꾼다음 실행을 가능케 속성을 추가한다.


user@user-test:~$ mv friend.sh frined && chmod +x friend


user@user-test:~$  ./friend hi

hello


user@user-test:~$  ./friend bye

see you tomorrow~!


// 되었으면 $PATH로 복사 한다.


user@user-test:~$  sudo cp friend /usr/bin/


// 테스트 해본다.


user@user-test:~$ friend

what?


자 이제 간단한 인자값 인지 프로그램을 만들었으니 이제는 이 프로그램을 자동 완성 시켜주는 소스를 설계해 보자.


Source_File name :friend.bash_completion

[Download]

Type : bash

클립보드로 복사 → (본문 클릭)

무제


설계가 끝났으면 만든 파일을 '/etc/bash_completion.d' 로 복사하자.

-- 터미널 텍스트 박스 (Terminal text box) --

<Drag와 복사가 가능합니다.>


user@user-test:~$ sudo cp friend.bash_completion /etc/bash_completion.d



// 그리고 테스트 해보자.


// '/etc/bash_completion' 를 호출해주는 '~/.bashrc'를 로딩 한다.



user@user-test:~$ source ~/.bashrc



user@user-test:~$ friend '⇔'(탭키 연타)


hi    bye



> 자동 완성이 성공했다.



그리고 중요한 friend.bash_completion 파일의 소스코드 구조는 다음 그림과 같다. 



  

도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린점, 혹은 틀린 부분이 있는 것 같다면 꼭 댓글로 알려 주시면 감사 하겠습니다.



[Name]   



seuper


[ Section ]   


Admin


[ Version - 날짜]


0.1-2( Tue, 17 Jan 2017 23:49:34 +0900 )


[ 지원 아키텍쳐 ]   


x86_64, i386, armhf, arm64


[ 지원 운영체제 ]   


Linux_debian_ubuntu : zesty, yakkety, xenial, vivid, trusty, preceis, linux mint....


[ 빌드 & 컴파일러 ]


bash


[ 라이센스 ]


GPL 3.0


[ 의존 패키지 ]


selinux, selinux-policy-ubuntu



[ 설명 ]   


This package is ubnutu patcher for selinux.
  Software will auto change setenforce currunt mode by boot & policys pkg for x-desktop.


(이 패키지는 selinux를 위한 우분투 패치입니다.


본 소프트웨어는 x-desktop 용 boot & 정책 패키지의 작동에 의해 자동으로 setenforce currunt 모드를 변경합니다.)


[ 특징 및 변경 사항 : Changes log ]   

 

* Fix developement.
  * Initial release.   


[ 개발자 ]


C O S M O S project.


site: http://cosmosproject2015.tistory.com


e-mail : cosmosproject15@gmail.com


[ 개발자의 말 ]


본 소프트웨어 seuper는 우분투를 위한 전용 patcher 입니다.


본 프로그램을 만들게 된 이유는 우분투에서 selinux의 currunt 모드를 enforcing으로 설정 후에는 x-desktop 로딩 문제와 더불어 각종 패키지 설치 문제까지 운영체제 활용이 까다로워 지는 것을 보완하기 위해서 이며


x-desktop으로 부팅시 자동으로 enforcing으로 안전하게 전환 되게 하겠끔 시스템을 재구성 합니다.


본 프로그램이 동작하는 방식은


/etc/seuper/policy 의 pkg들의 실제 프로세스 활동을 감시 구동 중인 프로세스의 PID를 분석하여 실제 프로세스 실행 경로가 맞는지를 확인 setenforce 0으로 자동 전환 구동 중인 프로세스의 활동이 종료되면 자동으로 setenforce 1으로 전환


하는 방식으로 selinux의 enforcing여부를 프로그램 스스로가 판단하여 바꿔 주는 방식 입니다.


사용자가 직접 정책 등록을 할 수 있을 뿐만이 아니라 정책 삭제도 가능 합니다.


뿐만 아니라 seuper가 enable로 동작하고 있는 상태에서 사용자의 xwindows-desktop이 lightdm이나 gdm일 경우 데스크탑 메니저를 restart 했을때에 다시 x-desktop으로 리턴을 가능하게 합니다. (리눅스민트 -mdm 이나 다른 x-desktop 서비스들은 향후 업데이트에서 정책을 기본을 추가할 계획)




[ 설치 방법 ]   


-- 터미널 텍스트 박스 (Terminal text box) --

<Drag와 복사가 가능합니다.>



root@test:~$ sudo apt-add-repository ppa:cosmosp2016/apps


root@test:~$ sudo apt-get update

root@test:~$ sudo apt install seuper




[실행]   


-- 터미널 텍스트 박스 (Terminal text box) --

<Drag와 복사가 가능합니다.>


root@test:~$ seuper







[사용 방법]


-- 터미널 텍스트 박스 (Terminal text box) --

<Drag와 복사가 가능합니다.>

root@test:~$ seuper


[ Selinux for ubuntu patcher. ]

Version : 0.1-2

Use :

  sudo seuper enable :

    seuper activation for selinux change mode for only enforcing and '/etc/sudoers' file changes for 'setenforce'.
    and if selinux pakcage not installed then auto install selinux and watching realtime policys pkg for auto enforcing changes for x-desktop.

  sudo seuper boot :
     
      seuepr will task selinux safty enforcing boot for x-desktop.

  sudo seuper disable :

    seuper inactive for selinux change mode for only permissive and '/etc/sudoers' file restore.

  sudo seuper add <pkg name> <pkg excute path> :

    pkg add to seuper policy list.

  sudo seuper remove <pkg name> :

      pkg delete from seuper policy list.

  sudo seuper status :

      Selinux status & seuper status & seuper policys print.

Homepage :http://cosmosproject2015.tistory.com




[ 소스 다운로드 ]  


없음


seuper 가이드로 바로가기


도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린점이 있는 것 같다면 꼭 댓글로 알려 주시면 감사 하겠습니다.


まず、タイトルから本文を「小さな考え」と自ら予約した理由は、この問題(慰安婦問題)が一介の個人が「うるさく指図"することができない歴史的事実を証ししている問題だからである。


これは、韓国の人々だけでなく日本人も同様である。


最初に、私たちは一つの疑問を持って見なければならない事項があり...

「さすがにお金で「歴史的事実」や暴力の証拠が消えるのだろうか?」

という問題だ。


そして、残念ながら思いのほか筆者の周りの人の中でも慰安婦問題をこれ以上取り上げてはならないその必要が全くないと言う人が多い。


さらに慰安婦問題の運動団体は、日本地元の人たちもおり、筆者はこれらも直接対面したことがある。


その後、我々は、なぜそのような問題が解決しても言及薄くており、21世紀を超える現代でも継続検討されているかどうかを心配してみる必要がある。

 
多分...それは

「事件の補償が重要ではなく、歴史的事実の証拠を両局の国民に引き続き認識させ誤りが繰り返されないよう防ぐのにには、コアがあるかもしれない。」


筆者は、歴史を振り返り基地ないと間違っては必ず戻って繰り返すことができると考えている。

そして今、日本の社会的状況はどうか?

そして今、日本の教育の歴史認識の現状はどうか?

また、今、私たちの学生のための歴史教育はどうして大人たちはどのように言うか

慰安婦と活動家が絶えず歴史認識を世界中の人々に回復させる理由は、必ずその理由があるはずである。
 
断言コンデ、

日本人は子孫に恥ずかしい慰安婦問題が本当に取り上げられない事をしたい場合は...

これは、外交やお金で解決できる問題ではなく、子孫と学生に帝国主義思想自慢を注入することではなく、

     日本人自ら書いた歴史的事実を認識し、それに対する絶え間ない教育のために、将来の日本人が過ちを繰り返さない正しい時代主義的教育をしていくならば

慰安婦取り上げ問題は自然に減るだろう。

結果的に、この問題の核心は、「歴史の正しい教育」にあるかもしれない。

助けができたら「♡」ボタンを必ず押していただければ幸いです。


そして文に不十分な点があるか間違った点があるようでしたら、ぜひコメントで教えていただければ幸いです。




+ Recent posts