F u l l C i r c e D D C C M 4 4 C C H H E E
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 1/56
f u l l c i r c l e m a g a z i n e # 8 9 1
c o n t e n t s ^
F u l l C i r c l e
T H E I N D E P E N D E N T M A G A Z I N E F O R T H E U B U N T U L I N U X C O M M U N I T Y
I S S U E # 8 9 - S e p t e m b e r 2 0 1 4
F
F
u
u
l
l
l
l
C
C
i
i
r
r
c
c
l
l
e
e
M
M
a
a
g
g
a
a
z
z
i
i
n
n
e
e
i
i
s
s
n
n
e
e
i
i
t
t
h
h
e
e
r
r
a
a
f
f
f
f
i
i
l
l
i
i
a
a
t
t
e
e
d
d
w
w
i
i
t
t
h
h
,
,
n
n
o
o
r
r
e
e
n
n
d
d
o
o
r
r
s
s
e
e
d
d
b
b
y
y
,
,
C
C
a
a
n
n
o
o
n
n
i
i
c
c
a
a
l
l
L
L
t
t
d
d
.
.
D
D
C
C
M
M
4
4
C
C
H
H
E
E
F O R T H A T S P A R E P . E . T . S C A N N E R I N Y O U R B A S E M E N T
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 2/56
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 3/56
f u l l c i r c l e m a g a z i n e # 8 9
3
c o n t e n t s ^
E E
D D
I I
T T
O O
R R
I I
A A
L L
W E L C O M E T O A N O T H E R I S S U E O F F U L L C I R C L E .
T
h e r e ' s n o P y t h o n o r B l e n d e r t u t o r i a l s t h i s m o n t h . I ' v e s t e p p e d i n t o f i l l t h e B l e n d e r s p a c e
w i t h a G I M P a r t i c l e o n u s i n g t h e P r e s p e c t i v e C l o n e t o o l . F o r t h e P y t h o n s p a c e I t h o u g h t
I ' d t h r o w i n a q u i r k y a r t i c l e I w a s s e n t o n h o w t o s e t u p d c m 4 c h e . I t ' s a p i e c e o f s o f t w a r e u s e d
i n P . E . T . s c a n n i n g m a c h i n e s i n t h e m e d i c a l f i e l d . I l o v e r e c e i v i n g a r t i c l e s l i k e t h i s a s i t s h o w s u s
a s i d e o f L i n u x t h a t w e r a r e l y g e t t o s e e . S o , i f y o u ' r e i n a f i e l d o f w o r k w h i c h u s e s L i n u x , a n d
i s s o m e t h i n g t h a t m o s t p e o p l e n e v e r s e e , s e n d u s a n a r t i c l e . T h e q u i r k i e r t h e b e t t e r !
M y r e c e n t g a m i n g a d d i c t i o n ( w h i c h h a s t a k e n o v e r f r o m E u r o T r u c k S i m u l a t o r 2 ) i s X - P l a n e
1 0 . I b o u g h t a M A D C A T Z F L Y 5 j o y s t i c k a n d h a v e t a k e n t o t h e ( v i r t u a l ) s k i e s a n d w r i t t e n a
r e v i e w o f X - P l a n e t h i s m o n t h . T h e r e ' s a l o t t o l e a r n , b u t i t ' s a g r e a t s i m u l a t i o n . A l s o t h i s
m o n t h i n g a m i n g t h e r e ' s a r e v i e w f r o m O s c a r o n T h e W i t c h e r 2 .
F o r t h e t i n k e r e r s o u t t h e r e I ' m p l o d d i n g a l o n g w i t h A r d u i n o , w h i l e C h a r l e s i s m e s s i n g
a r o u n d w i t h K o d i ( f o r m e r l y k n o w n a s X B M C ) , a n d w e ' r e o n t o p a r t t w o o f t h e K e r n e l s e r i e s .
N o o n e w r o t e t o m e t h i s m o n t h s o I ' m a f r a i d t h e r e ' s n o L e t t e r s p a g e . N o q u e s t i o n s o n
s e c u r i t y m e a n s t h a t ' s a l s o o u t t h i s m o n t h . I b e l i e v e t h e s e a r e a l s o m y l a s t t w o d e s k t o p
s c r e e n s .
A n y w a y , t h a t ' s e n o u g h r a m b l i n g f r o m m e . E n j o y t h e i s s u e , a n d w r i t e i n !
A l l t h e b e s t , a n d k e e p i n t o u c h !
R o n n i e
r o n n i e @ f u l l c i r c l e m a g a z i n e . o r g
T h i s m a g a z i n e w a s c r e a t e d u s i n g :
F u l l C i r c l e P o d c a s t
R e l e a s e d m o n t h l y , e a c h e p i s o d e
c o v e r s a l l t h e l a t e s t U b u n t u n e w s ,
o p i n i o n s , r e v i e w s , i n t e r v i e w s a n d
l i s t e n e r f e e d b a c k . T h e S i d e - P o d i s
a n e w a d d i t i o n , i t ' s a n e x t r a
( i r r e g u l a r ) s h o r t - f o r m p o d c a s t
w h i c h i s i n t e n d e d t o b e a b r a n c h
o f t h e m a i n p o d c a s t . I t ' s
s o m e w h e r e t o p u t a l l t h e g e n e r a l
t e c h n o l o g y a n d n o n - U b u n t u s t u f f
t h a t d o e s n ’ t f i t i n t h e m a i n
p o d c a s t .
H o s t s :
• L e s P o u n d e r
• T o n y H u g h e s
• J o n C h a m b e r l a i n
• O l i v e r C l a r k
h t t p : / / f u l l c i r c l e m a g a z i n e . o r g
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 4/56
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 5/56
f u l l c i r c l e m a g a z i n e # 8 9 5
c o n t e n t s ^
N E W S
c h a n g e y o u a r e a b o u t t o m a k e ,
t h e s e t i p s s h o u l d m a k e t h e
t r a n s i t i o n e a s i e r .
S o u r c e :
h t t p : / / w w w . t e c h r e p u b l i c . c o m / a r t i c
l e / 5 - t i p s - o n - m i g r a t i n g - t o - o p e n -
s o u r c e - s o f t w a r e /
S u b m i t t e d b y : A r n f r i e d W a l b r e c h t
L I N U X S E R V E R S T U R N E D
I N T O B O T S B Y ' I P T A B L E S '
A N D ' I P T A B L E X ' M A L W A R E
A
b o t n e t t h a t i n f e c t s a n d
e x p l o i t s p o o r l y - m a i n t a i n e d
L i n u x s e r v e r s h a s b e e n u s e d t o
l a u n c h a s p a t e o f l a r g e D D o S
a t t a c k s t a r g e t i n g D N S a n d o t h e r
i n f r a s t r u c t u r e , A k a m a i ’ s P r o l e x i c
d i v i s i o n h a s w a r n e d .
D u b b e d t h e ‘ I p t a b L e s a n d
I p t a b L e x b o t n e t ’ , t h e a t t a c k
t a r g e t s v e r s i o n s o f A p a c h e S t r u t s
a n d T o m c a t , a s w e l l a s s o m e
r u n n i n g E l a s t i c s e a r c h t h a t h a v e n o t
b e e n p a t c h e d a g a i n s t a c l u t c h o f
v u l n e r a b i l i t i e s .
O n c e c o m p r o m i s e d , t h e a t t a c k
e l e v a t e s p r i v i l e g e s t o a l l o w r e m o t e
c o n t r o l o f t h e s e r v e r f r o m w h i c h
t h e m a l i c i o u s c o d e i s d r o p p e d a n d
r u n , a f t e r w h i c h i t a w a i t s d i r e c t i o n
b y t h e b o t ’ s c o m m a n d a n d c o n t r o l .
T h e b i n a r y i s c o n n e c t e d t o t w o
h a r d c o d e d a d d r e s s e s r u n n i n g o n
C h i n a T e l e c o m , w h i l e a n y o n e
w h o s e s e r v e r h a s b e e n i n f e c t e d w i l l
p r o b a b l y n o t i c e p o o r p e r f o r m a n c e .
S o u r c e :
h t t p : / / n e w s . t e c h w o r l d . c o m / s e c u r i t
y / 3 5 4 3 4 2 0 / l i n u x - s e r v e r s - t u r n e d -
i n t o - b o t s - b y - i p t a b l e s - a n d - i p t a b l e x -
m a l w a r e /
S u b m i t t e d b y : A r n f r i e d W a l b r e c h t
W H A T D O C K E R I S — A N D I S
N O T
D
o c k e r s o f t w a r e h a s b e e n
g e t t i n g q u i t e a b i t o f
a t t e n t i o n r e c e n t l y , b e c a u s e i t h o l d s
o u t t h e p r o m i s e o f m a k i n g i t
p o s s i b l e f o r a d e v e l o p e r t o d e v e l o p
a n a p p l i c a t i o n , p a c k a g e i t i n t o a
c o n t a i n e r , a n d t h e n d e l i v e r i t t o a
n u m b e r o f d i f f e r e n t
p l a t f o r m s — w i t h o u t h a v i n g t o t e s t
e v e r y c o m b i n a t i o n o f v e r s i o n s o f
t h e o p e r a t i n g s y s t e m , d a t a b a s e ,
a p p l i c a t i o n f r a m e w o r k o r
d e v e l o p m e n t t o o l . T h e g o a l i s t o
o v e r c o m e a l l d i f f e r e n c e s i n t h e
v e r s i o n s o f t h e o p e r a t i n g s y s t e m ,
d a t a b a s e e n g i n e s a n d o t h e r t o o l s
t o m a k e r e - h o s t i n g a n a p p l i c a t i o n
v e r y e a s y .
A l t h o u g h D o c k e r i n d i c a t e s t h a t
t h i s i s a n e w i d e a , i t r e a l l y c a n b e
s e e n a s a f o r m o f a p p l i c a t i o n
v i r t u a l i z a t i o n . D o c k e r r e l i e s o n a
f o r m o f p r o c e s s i n g v i r t u a l i z a t i o n ,
o p e r a t i n g s y s t e m v i r t u a l i z a t i o n a n d
p a r t i t i o n i n g t h a t h a s b e c o m e a
s t a n d a r d p a r t o f t h e L i n u x k e r n e l .
S o u r c e :
h t t p : / / v i r t u a l i z a t i o n r e v i e w . c o m / a r t i
c l e s / 2 0 1 4 / 0 9 / 0 5 / w h a t - d o c k e r - i s -
a n d - i s - n o t . a s p x
S u b m i t t e d b y : A r n f r i e d W a l b r e c h t
K I N I V O R E L E A S E S A P A I R O F
I N E X P E N S I V E L I N U X -
F R I E N D L Y U S B W I R E L E S S
A D A P T E R S
N
o w a d a y s , i f y o u b u y a l a p t o p ,
i t w i l l h a v e a b u i l t - i n w i r e l e s s
c a r d ( d e s k t o p s ; n o t a l w a y s ) . F o r t h e
m o s t p a r t , t h e s e i n t e g r a t e d c a r d s
w o r k w e l l - - o n W i n d o w s . Y o u s e e ,
m o s t m a n u f a c t u r e r s b u i l d t h e i r
m a c h i n e s w i t h o n l y W i n d o w s i n
m i n d . I f y o u u s e o n l y M i c r o s o f t ' s
o p e r a t i n g s y s t e m , y o u s h o u l d b e
g o l d e n . H o w e v e r , f o r n e r d s w h o
l i k e L i n u x ( i n c l u d i n g m y s e l f ) ,
n o n e x i s t e n t o r p r o b l e m a t i c
w i r e l e s s d r i v e r s c a n b e a n a b s o l u t e
n i g h t m a r e .
T h i s i s w h y I r e c o m m e n d a U S B
w i r e l e s s a d a p t e r t o e v e r y L i n u x
u s e r ; y o u n e v e r k n o w w h e n y o u
m a y n e e d i t a s a p e r m a n e n t o r
t e m p o r a r y i n t e r n e t s o l u t i o n .
U n f o r t u n a t e l y , n o t a l l U S B a d a p t e r s
w o r k w i t h L i n u x o u t o f t h e b o x , s o
t h e m o d e l y o u c h o o s e m a t t e r s .
T o d a y , K i n i v o r e l e a s e s t w o U S B
w i r e l e s s a d a p t e r s t h a t a r e
p r o m i s e d t o w o r k w i t h L i n u x - b a s e d
o p e r a t i n g s y s t e m s .
S o u r c e :
h t t p : / / b e t a n e w s . c o m / 2 0 1 4 / 0 9 / 0 8 /
k i n i v o - r e l e a s e s - a - p a i r - o f -
i n e x p e n s i v e - l i n u x - f r i e n d l y - u s b -
w i r e l e s s - a d a p t e r s /
S u b m i t t e d b y : A r n f r i e d W a l b r e c h t
C I T Y O F T U R I N D E C I D E S T O
D I T C H W I N D O W S X P F O R
U B U N T U A N D € 6 M S A V I N G
€
6 m : t h e a m o u n t t h e
m u n i c i p a l i t y o f T u r i n h o p e s t o
s a v e o v e r f i v e y e a r s b y s w i t c h i n g
f r o m W i n d o w s X P t o U b u n t u L i n u x
i n a l l o f i t s o f f i c e s .
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 6/56
f u l l c i r c l e m a g a z i n e # 8 9 6
c o n t e n t s ^
N E W S
T h e m o v e w i l l m e a n i n s t a l l i n g
t h e o p e n s o u r c e o p e r a t i n g s y s t e m
o n 8 , 3 0 0 P C s , w h i c h w i l l g e n e r a t e
a n i m m e d i a t e s a v i n g o f r o u g h l y
€ 3 0 0 p e r m a c h i n e ( a l m o s t € 2 . 5 m
a l t o g e t h e r , m a d e u p f r o m t h e c o s t
o f W i n d o w s a n d O f f i c e l i c e n c e s ) — a
s u m t h a t w i l l g r o w o v e r t h e y e a r s
a s t h e n e e d f o r t h e r e n e w a l o f
p r o p r i e t a r y s o f t w a r e l i c e n c e s
v a n i s h e s , a n d t h e e m p l o y e e s g e t
u s e d t o t h e n e w m a c h i n e s .
O r r a t h e r , t o t h e o l d o n e s .
A n o t h e r r e a s o n f o r t h e s w i t c h w a s
t h a t t h e c o m p u t e r s T u r i n u s e s a r e
q u i t e o l d , a n d i n s t a l l i n g W i n d o w s 8
w o u l d h a v e p r o b a b l y b e e n t o o
d e m a n d i n g f o r t h e m , w h e r e a s
L i n u x o f f e r s m o r e f l e x i b i l i t y w i t h
m o r e m a t u r e m a c h i n e s . A n d , a s t h e
s u p p o r t f o r W i n d o w s X P o f f i c i a l l y
e n d e d t h i s y e a r , s t i c k i n g w i t h
M i c r o s o f t d i d n ' t m a k e m u c h s e n s e
t o T u r i n . T h e s w i t c h t o U b u n t u w a s
o f f i c i a l l y a p p r o v e d i n e a r l y A u g u s t
a n d i s e x p e c t e d t o t a k e a r o u n d a
y e a r a n d a h a l f t o c o m p l e t e .
S o u r c e :
h t t p : / / w w w . z d n e t . c o m / c i t y - o f -
t u r i n - d e c i d e s - t o - d i t c h - w i n d o w s - x p -
f o r - u b u n t u - a n d - 6 m - s a v i n g -
7 0 0 0 0 3 3 4 8 2 /
S u b m i t t e d b y : A r n f r i e d W a l b r e c h t
T O R V A L D S S A Y S H E H A S N O
S T R O N G O P I N I O N S O N
S Y S T E M D
L
i n u x c r e a t o r L i n u s T o r v a l d s i s
w e l l - k n o w n f o r h i s s t r o n g
o p i n i o n s o n m a n y t e c h n i c a l t h i n g s .
B u t w h e n i t c o m e s t o s y s t e m d , t h e
i n i t s y s t e m t h a t h a s c a u s e d a f a i r
d e g r e e o f a n g s t i n t h e L i n u x w o r l d ,
T o r v a l d s i s n e u t r a l .
" W h e n i t c o m e s t o s y s t e m d , y o u
m a y e x p e c t m e t o h a v e l o t s o f
c o l o u r f u l o p i n i o n s , a n d I j u s t d o n ' t , "
T o r v a l d s t o l d i T W i r e i n a n
i n t e r v i e w . " I d o n ' t p e r s o n a l l y m i n d
s y s t e m d , a n d i n f a c t m y m a i n
d e s k t o p a n d l a p t o p b o t h r u n i t ” .
S o u r c e :
h t t p : / / w w w . i t w i r e . c o m / b u s i n e s s - i t -
n e w s / o p e n - s o u r c e / 6 5 4 0 2 - t o r v a l d s -
s a y s - h e - h a s - n o - s t r o n g - o p i n i o n s - o n -
s y s t e m d
S u b m i t t e d b y : S a m V a r g h e s e
E V E R Y T H I N G Y O U N E E D T O
K N O W A B O U T M E I Z U M X 4 ,
T H E U P C O M I N G U B U N T U
P H O N E – G A L L E R Y
T
h e n e w U b u n t u T o u c h
o p e r a t i n g s y s t e m f r o m
C a n o n i c a l w i l l p o w e r t h e n e w
M e i z u M X 4 p h o n e a n d i t w i l l b e o u t
i n D e c e m b e r , a c c o r d i n g t o t h e
l a t e s t i n f o r m a t i o n p o s t e d b y t h e
C h i n e s e c o m p a n y . W e n o w t a k e a
c l o s e r l o o k a t t h i s n e w p h o n e t o
s e e h o w i t w i l l h o l d u p w i t h a n
U b u n t u e x p e r i e n c e .
C a n o n i c a l h a s n ' t p r o v i d e d a n y
k i n d o f i n f o r m a t i o n a b o u t a
t i m e t a b l e f o r t h e l a u n c h o f t h e n e w
U b u n t u p h o n e f r o m M e i z u , a n d
e v e n t h e i n f o r m a t i o n t h a t w e h a v e
r i g h t n o w h a s b e e n p o s t e d i n i t i a l l y
o n a n I t a l i a n b l o g o f t h e C h i n e s e
c o m p a n y . B a s i c a l l y , n o o n e i s s a y i n g
a n y t h i n g o f f i c i a l l y , b u t t h a t ' s n o t
r e a l l y t h e p o i n t .
T h e n e w M e i z u M X 4 w a s
a n n o u n c e d j u s t a c o u p l e o f w e e k s
a g o a n d m a n y U b u n t u u s e r s h a v e
a s k e d t h e m s e l v e s i f t h i s i s t h e
p h o n e t h a t w i l l e v e n t u a l l y f e a t u r e
t h e u p c o m i n g U b u n t u T o u c h . I t
l o o k s l i k e t h a t i s t h e c a s e , s o w e
n o w t a k e a c l o s e r l o o k a t t h i s
p o w e r f u l h a n d s e t .
S o u r c e :
h t t p : / / n e w s . s o f t p e d i a . c o m / n e w s / E
v e r y t h i n g - Y o u - N e e d - t o - K n o w -
A b o u t - M e i z u - M X 4 - t h e - U p c o m i n g -
U b u n t u - P h o n e - 4 5 8 8 8 2 . s h t m l
S u b m i t t e d b y : S i l v i u S t a h i e
C U R L E X P L O I T S C L O S E D I N
A L L S U P P O R T E D U B U N T U
O S E S
C
a n o n i c a l h a s a n n o u n c e d t h a t a
c o u p l e o f c u r l v u l n e r a b i l i t i e s
h a v e b e e n f o u n d a n d f i x e d i n i t s
U b u n t u 1 4 . 0 4 L T S , U b u n t u 1 2 . 0 4
L T S , a n d U b u n t u 1 0 . 0 4 L T S
o p e r a t i n g s y s t e m s .
T h e d e v e l o p e r s h a v e r e l e a s e d a
n e w u p d a t e f o r t h e c u r l p a c k a g e
a n d i t l o o k s l i k e a n u m b e r o f
s e c u r i t y i s s u e s h a v e b e e n
c o r r e c t e d .
“ T i m R u e h s e n d i s c o v e r e d t h a t
c u r l i n c o r r e c t l y h a n d l e d p a r t i a l
l i t e r a l I P a d d r e s s e s . T h i s c o u l d l e a d
t o t h e d i s c l o s u r e o f c o o k i e s t o t h e
w r o n g s i t e , a n d m a l i c i o u s s i t e s
b e i n g a b l e t o s e t c o o k i e s f o r
o t h e r s , ” r e a d s t h e s e c u r i t y n o t i c e .
S o u r c e :
h t t p : / / n e w s . s o f t p e d i a . c o m / n e w s / C
u r l - E x p l o i t s - C l o s e - i n - A l l - S u p p o r t e d -
U b u n t u - O S e s - 4 5 8 8 9 9 . s h t m l
S u b m i t t e d b y : S i l v i u S t a h i e
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 7/56
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 8/56f u l l c i r c l e m a g a z i n e # 8 9
8
c o n t e n t s ^
N E W S
a d o p t i o n a n d w h e t h e r o r n o t i t ' s a
g o o d / b a d t h i n g f o r t h e L i n u x
c o m m u n i t y a s a w h o l e . P l u s , I ' l l t a l k
a b o u t t h e b i g g e s t i s s u e o f a l l a n d
h o w n o o n e i s d o i n g a n y t h i n g
a b o u t i t .
W h e n f o l k s a s k m e i f C h r o m e O S
i s a L i n u x d i s t r i b u t i o n , I u s u a l l y
r e p l y t h a t C h r o m e O S i s t o L i n u x
w h a t O S X i s t o B S D . I n o t h e r
w o r d s , I c o n s i d e r C h r o m e O S t o b e
a f o r k e d o p e r a t i n g s y s t e m t h a t
u s e s t h e L i n u x k e r n e l u n d e r t h e
h o o d . M u c h o f t h e o p e r a t i n g
s y s t e m i s m a d e u p o f G o o g l e ' s o w n
p r o p r i e t a r y b l e n d o f c o d e a n d
s o f t w a r e .
S o w h i l e t h e C h r o m e O S i s u s i n g
t h e L i n u x k e r n e l u n d e r i t s h o o d , i t ' s
s t i l l v e r y d i f f e r e n t f r o m w h a t w e
m i g h t f i n d w i t h t o d a y ' s m o d e r n
L i n u x d i s t r i b u t i o n s .
S o u r c e :
h t t p : / / w w w . d a t a m a t i o n . c o m / o p e n -
s o u r c e / c h r o m e o s - v s - l i n u x - t h e -
g o o d - t h e - b a d - a n d - t h e - u g l y - 1 . h t m l
S u b m i t t e d b y : A r n f r i e d W a l b r e c h t
N E T F L I X S U P P O R T I S
O F F I C I A L L Y M A K I N G I T S W A Y
T O L I N U X , F I N A L L Y
L
i n u x u s e r s , y o u ' v e b e e n v e r y ,
v e r y , v e r y , v e r y , v e r y , v e r y
p a t i e n t . A n d n o w , y o u r p a t i e n c e i s
b e i n g r e w a r d e d w i t h N e t f l i x
s u p p o r t o n y o u r O S o f c h o i c e . F o r
t h e l o n g e s t t i m e N e t f l i x r e l i e d o n
M i c r o s o f t ' s w o u l d - b e F l a s h
c o m p e t i t o r S i l v e r l i g h t . B u t , o f
c o u r s e , s u p p o r t f o r t h e p l u g i n w a s
p r a c t i c a l l y n o n - e x i s t e n t o n t h e
o p e n - s o u r c e O S . N o w , w i t h
S i l v e r l i g h t f a d i n g , a n d N e t f l i x
e m b r a c i n g t h e p o w e r o f H T M L 5 ,
y o u r w i s h o f w a t c h i n g f l i c k s i n y o u r
f a v o r i t e d i s t r o ( b e i t U b u n t u , M i n t
o r A r c h ) m a y f i n a l l y c o m e t r u e . P a u l
A d o l p h f r o m N e t f l i x p o s t e d a
m e s s a g e t o U b u n t u d e v e l o p e r s ,
t e l l i n g t h e m t h a t , " N e t f l i x w i l l p l a y
w i t h C h r o m e s t a b l e i n 1 4 . 0 2 i f N S S
v e r s i o n 3 . 1 6 . 2 o r g r e a t e r i s
i n s t a l l e d . "
S o u r c e :
h t t p : / / w w w . e n g a d g e t . c o m / 2 0 1 4 / 0
9 / 1 9 / n e t f l i x - l i n u x /
S u b m i t t e d b y : A r n f r i e d W a l b r e c h t
C H I N A S E E K S T O S H U N
W E S T E R N S O F T W A R E
C
h i n a i s d e v e l o p i n g a
h o m e g r o w n o p e r a t i n g s y s t e m
t h a t c o u l d b e r e a d y a s s o o n a s
O c t o b e r a s p a r t o f a n e f f o r t t o
w e a n i t s e l f f r o m W e s t e r n - m a d e
s o f t w a r e , a c c o r d i n g t o a S u n d a y
r e p o r t f r o m t h e X i n h u a
g o v e r n m e n t n e w s a g e n c y , r e p o r t s
T e c h n e w s w o r l d . c o m .
F o l l o w i n g h a r d o n t h e h e e l s o f
C h i n a ’ s a n n o u n c e m e n t l a s t m o n t h
t h a t i t h a d l a u n c h e d a n
i n v e s t i g a t i o n o f M i c r o s o f t u n d e r
t h e c o u n t r y ’ s a n t i m o n o p o l y l a w s ,
t h e l a t e s t n e w s s u g g e s t s t h e n e w
o p e r a t i n g s y s t e m f i r s t w i l l a p p e a r
o n d e s k t o p d e v i c e s a n d t h e n b e
e x t e n d e d t o s m a r t p h o n e s a n d
o t h e r m o b i l e d e v i c e s i n t h r e e t o
f i v e y e a r s .
T h e n o w - d e f u n c t R e d F l a g L i n u x
s o f t w a r e c o u l d b e p a r t o f t h e n e w
O S , a c c o r d i n g t o C o m p u t e r w o r l d .
S o u r c e :
h t t p : / / w w w . a s i a n a g e . c o m / t e c h n o l o
g y / c h i n a - s e e k s - s h u n - w e s t e r n -
s o f t w a r e - 5 1 5
S u b m i t t e d b y : A r n f r i e d W a l b r e c h t
U B U N T U G E T S C L O S E R T O
D E B U T I N M E I Z U M X 4
P H O N E
T
h e U b u n t u p r o j e c t a n n o u n c e d
a s t a b l e b u i l d f o r U b u n t u
T o u c h p h o n e s , a w e e k a f t e r M e i z u
t i p p e d a n U b u n t u v e r s i o n o f t h e
M e i z u M X 4 p h o n e d u e i n
D e c e m b e r .
T h e U b u n t u f o r P h o n e s t e a m a t
t h e C a n o n i c a l ’ s U b u n t u P r o j e c t
a n n o u n c e d t h e a r r i v a l o f t h e f i r s t
i m a g e f r o m t h e u b u n t u - r t m
( r e l e a s e t o m a n u f a c t u r i n g )
d i s t r i b u t i o n f o r p h o n e s . T h e
a n n o u n c e m e n t f o l l o w e d l a s t
w e e k ’ s t e a s e f r o m M e i z u , s a y i n g a
v e r s i o n o f t h e A n d r o i d - b a s e d
M e i z u M X 4 w a s o n s c h e d u l e f o r
s h i p p i n g w i t h U b u n t u i n D e c e m b e r .
T h e R T M i m a g e o f U b u n t u
T o u c h “ s e e m s t o b e t h e m o s t
s t a b l e u b u n t u - r t m i m a g e w e e v e r
h a d , ” w r i t e s Ł u k a s z ‘ s i l 2 1 0 0 '
Z e m c z a k o f t h e U b u n t u P h o n e s
t e a m . “ M o s t b l o c k e r s h a v e b e e n
r e s o l v e d ( a l o n g w i t h t h e n o - i n p u t
u n i t y 8 l o c k u p b u g ) , w i t h o n l y m o r e
m i n o r i s s u e s r e m a i n i n g . ”
S o u r c e :
h t t p : / / l i n u x g i z m o s . c o m / u b u n t u -
g e t s - c l o s e r - t o - d e b u t - i n - m e i z u - m x 4 -
p h o n e /
S u b m i t t e d b y : A r n f r i e d W a l b r e c h t
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 9/56f u l l c i r c l e m a g a z i n e # 8 9
9
c o n t e n t s ^
N E W S
G O O G L E A N D D R O P B O X
T E A M O N O P E N S O U R C E
S E C U R I T Y
I
n a n e f f o r t t o m a k e o p e n s o u r c e
s e c u r i t y t o o l s m o r e u s e r f r i e n d l y ,
G o o g l e a n d D r o p b o x a n n o u n c e d
T h u r s d a y t h a t t h e y h a v e t e a m e d u p
w i t h t h e O p e n T e c h n o l o g y F u n d t o
f o r m “ S i m p l y S e c u r e . " T h e g o a l o f
t h e n e w n o n - p r o f i t o r g a n i z a t i o n i s
t o “ h e l p c r a f t u s a b l y s e c u r e
t e c h n o l o g i e s a n d m a k e t h e m
a v a i l a b l e f o r e v e r y o n e . ”
T h i s i s t h e s e c o n d t i m e t h i s
w e e k a m a j o r t e c h n o l o g y c o m p a n y
h a s l a u n c h e d a n o p e n s o u r c e
i n i t i a t i v e . O n M o n d a y , F a c e b o o k
a n n o u n c e d i t s n e w T O D O i n i t i a t i v e ,
w h i c h i s f o c u s e d o n d e v e l o p i n g
b e s t p r a c t i c e s a n d t o o l s t o s u p p o r t
o p e n s o u r c e d e v e l o p m e n t
b e t w e e n c o m p a n i e s . G o o g l e a n d
D r o p b o x a r e a l s o p a r t i c i p a t i n g i n
t h e T O D O c o l l a b o r a t i o n .
T h e c o m p a n i e s s a i d t h e
i m p o r t a n c e o f p r o v i d i n g e a s y - t o -
u s e s e c u r e t o o l s h a s b e c o m e
i n c r e a s i n g l y i m p o r t a n t f o l l o w i n g
r e v e l a t i o n s b y E d w a r d S n o w d e n
t h a t t h e N S A , G C H Q , U n i t 2 8 0 0 a n d
o t h e r s p y a g e n c i e s p e n e t r a t e d
n u m e r o u s t e c h n o l o g y
o r g a n i z a t i o n s a n d c o l l e c t e d
p e r s o n a l d a t a f r o m m i l l i o n s o f
p e o p l e .
S o u r c e : h t t p : / / w w w . c i o -
t o d a y . c o m / a r t i c l e / i n d e x . p h p ? s t o r y _
i d = 1 0 3 0 0 1 N S 3 O F Y
S u b m i t t e d b y : A r n f r i e d W a l b r e c h t
S A M S U N G N E W S A N D
R U M O R S : S M A R T P H O N E
R U N N I N G L I N U X - B A S E D
T I Z E N O P E R A T I N G S Y S T E M
P L A N N E D T O D E B U T I N
I N D I A , R E P O R T S A Y S
T
i z e n i s a L i n u x - b a s e d o p e r a t i n g
s y s t e m t h a t S a m s u n g a l r e a d y
u s e s i n s o m e o f i t s c a m e r a s a n d i t s
G a l a x y G e a r l i n e o f w e a r a b l e t e c h .
T h e o p e r a t i n g s y s t e m h a s w i d e
f u n c t i o n a l i t y w i t h p o t e n t i a l u s e i n
s m a r t a p p l i a n c e s a n d s m a r t T V s . A s
o f y e t , T i z e n h a s y e t t o b e u s e d i n a
m a j o r s m a r t p h o n e , b u t S a m s u n g
m a y b e t r y i n g t o i n t r o d u c e t h i s
o p e r a t i n g s y s t e m i n t o i t s
s m a r t p h o n e l i n e s t a r t i n g w i t h a r u n
i n I n d i a , a c c o r d i n g t o t h e r e p o r t .
S a m s u n g ' s c u r r e n t l i n e o f G a l a x y
p h o n e s a n d t a b l e t s a l l r u n u s i n g
G o o g l e ' s A n d r o i d o p e r a t i n g
s y s t e m , w h i c h a l s o s u p p o r t s
s m a r t p h o n e s f r o m m a j o r
c o m p e t i t o r s l i k e L G a n d M o t o r o l a .
I f S a m s u n g w e r e a b l e t o g e t a T i z e n
d e v i c e o f f t h e g r o u n d , i t c o u l d
c r e a t e a m o b i l e s o f t w a r e
e c o s y s t e m t o r i v a l G o o g l e ' s
A n d r o i d , M i c r o s o f t ' s W i n d o w s a n d
A p p l e ' s i O S , m a k i n g t h e g a d g e t
g i a n t m o r e s e l f - s u s t a i n i n g a n d l e s s
d e p e n d a n t o n p a r t n e r c o m p a n i e s .
S o u r c e :
h t t p : / / w w w . g a m e n g u i d e . c o m / a r t i c l
e s / 1 3 3 4 7 / 2 0 1 4 0 9 2 3 / s a m s u n g -
n e w s - a n d - r u m o r s - s m a r t p h o n e -
r u n n i n g - l i n u x - b a s e d - t i z e n -
o p e r a t i n g - s y s t e m - p l a n n e d - t o -
d e b u t - i n - i n d i a - r e p o r t - s a y s . h t m
S u b m i t t e d b y : A r n f r i e d W a l b r e c h t
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 10/56f u l l c i r c l e m a g a z i n e # 8 9
1 0
c o n t e n t s ^
R
i g h t a t t h e s t a r t o f S e p t e m b e r ,
I r e c e i v e d a n e m a i l f r o m a
l o n g - t i m e r e a d e r , w h o I ' v e h a d
p r e v i o u s c o n t a c t w i t h . T h e g i s t o f
t h e e m a i l w a s t h a t h e h a d w r i t t e n a
s c r i p t t o s e a r c h a P D F d o c u m e n t ,
a n d t h e n t a k e e a c h p a g e w i t h a
m a t c h , a n d c r e a t e a n e w P D F o f
o n l y t h e r e s u l t s . T h e o r i g i n a l
s c e n a r i o w a s t h a t o f a l a w s t u d e n t
w h o h a d t o h u n t t h r o u g h P D F s t h a t
w e r e t h o u s a n d s o f p a g e s l o n g , b u t
I c a n f o r e s e e i t b e i n g u s e f u l f o r
o t h e r s t o o ( s t u d e n t s m a k i n g a
s t u d y g u i d e o n a p a r t i c u l a r t o p i c ,
p i c k i n g i n t e r e s t i n g a r t i c l e s o u t o f
P D F s , e t c ) . A s s u c h , t h i s m o n t h I
w i l l b e g i v i n g a q u i c k r u n - t h r o u g h
o f h o w t h e p r o g r a m w o r k s , a n d t h e
t e c h n o l o g i e s / c o m m a n d s i t i s b a s e d
o n .
T h e R e q u i r e m e n t s
• g r e p – i n p a c k a g e g r e p ( s h o u l d b e
p r e - i n s t a l l e d i n U b u n t u )
• p d f i n f o – i n p o p p l e r - u t i l s ( s h o u l d
b e p r e - i n s t a l l e d i n U b u n t u )
• p d f u n i t e – i n p o p p l e r - u t i l s ( s h o u l d
b e p r e - i n s t a l l e d i n U b u n t u )
• p d f t o t e x t – i n p o p p l e r - u t i l s
( s h o u l d b e p r e - i n s t a l l e d i n U b u n t u )
• p d f j a m – i n p d f j a m p a c k a g e i n
U b u n t u , o r t e x t l i v e - e x t r a - u t i l s .
M o s t o f t h e s e c o m m a n d s a r e
f a i r l y s e l f - e x p l a n a t o r y . T h e m o s t
c r y p t i c o n e s a r e g r e p ( w h i c h i s a
s e a r c h c o m m a n d f o r t h e c o m m a n d -
l i n e ) , a n d p d f j a m ( w h i c h i s a s h e l l
s c r i p t f o r m e r g i n g a n d s p l i t t i n g
P D F s ) .
T H E S C R I P T
T h e m o s t r e c e n t c o p y o f t h e
s c r i p t c a n b e f o u n d h e r e :
h t t p : / / h o m e p a g e s . d c c . u f m g . b r / ~ l c e
r f / e n / u t i l i t i e s . h t m l # p d f - p a g e - g r e p
( t h e “ d o w n l o a d i t ” l i n k i s u n d e r
‘ I n s t a l l a t i o n ’ ) . I w i l l b e r e f e r e n c i n g
l i n e n u m b e r s , s o i t m a y b e u s e f u l t o
d o w n l o a d a c o p y a n d o p e n i t i n a
t e x t e d i t o r t h a t o f f e r s l i n e
n u m b e r s , i n o r d e r t o f o l l o w a l o n g .
I f y o u d o n ' t w a n t t o i n c l u d e a
f u l l p a t h e v e r y t i m e y o u s e a r c h a
P D F , y o u c a n e i t h e r s y m b o l i c a l l y
l i n k i t t o / u s r / b i n w i t h :
sudo ln -s /path/to/script/usr/bin/pdf-page-grep
o r c r e a t e a s c r i p t s f o l d e r i n y o u r
u s e r ' s h o m e , a n d t h e n a d d i t t o
y o u r P A T H v a r i a b l e .
H O W T O U S E I T
• I n s t a l l t h e r e q u i r e m e n t s
• M a k e t h e s c r i p t e x e c u t a b l e :
chmod +x /path/to/file
M a k e s u r e t o c h a n g e t h e p a t h t o
t h e l o c a t i o n y o u s a v e d t h e s c r i p t
t o .
• R u n t h e s c r i p t
— W i t h o u t a r g u m e n t s t o s e e t h e
u s a g e i n f o r m a t i o n
— R u n t h e c o m m a n d b a s e d o f f t h e
u s a g e i n f o r m a t i o n – s u c h a s :
/path/to/pdf-page-grep -iissue*.pdf
pattern: command & conquer
O R
pattern:( e m p t y t o s t o p )
T h i s e x a m p l e w o u l d s e a r c h f o r
C o m m a n d & C o n q u e r ( w h i l e
i g n o r i n g u p p e r a n d l o w e r c a s e ) i n
a l l P D F s w h o s e n a m e s t a r t s w i t h
‘ i s s u e ’ , a n d e n d s w i t h ‘ . p d f ’ ( w h i c h
s h o u l d c o v e r a l l c o p i e s o f F C M ,
u n l e s s y o u r e n a m e t h e m ) . T h i s w a y ,
y o u ' l l e n d u p w i t h a P D F o f a l l C & C
a r t i c l e s i n t h e i s s u e s y o u ' v e
d o w n l o a d e d .
N a t u r a l l y , t h e r e a r e o t h e r
o p t i o n s y o u c a n u s e ( - E f o r
e x t e n d e d r e g u l a r e x p r e s s i o n s , - F
f o r f i x e d s t r i n g s , - P f o r p e r l r e g u l a r
e x p r e s s i o n s , - w f o r m a t c h i n g o n l y
w h o l e w o r d s , a n d - x f o r m a t c h i n g
w h o l e l i n e s ) .
H O W D O E S I T W O R K ?
I f y o u o p e n t h e s c r i p t u p i n y o u r
f a v o u r i t e t e x t e d i t o r , y o u ' l l n o t i c e
t h a t i t ' s f o r m a t t e d n i c e l y w i t h
i n d e n t a t i o n s , c o m m e n t s , s p a c i n g ,
a n d a u n i f o r m s y s t e m t o l o o p s . T h e
f i r s t s e c t i o n o f t h e f i l e ( l i n e s 1 - 7 )
w o u l d f a l l u n d e r w h a t I c l a s s a s
“ p r e a m b l e ” - i t c o n t a i n s
i n f o r m a t i o n o n t h e a u t h o r , s e t s t h e
e n v i r o n m e n t a t t h e t o p f o r L i n u x ,
g i v e s i n f o r m a t i o n o n t h e l i c e n s e ,
a n d t h e n s e t s u p t h e v a r i a b l e s u s e d
l a t e r i n t h e f i l e . I n t h i s c a s e , t h e
o n l y v a r i a b l e u s e d i s S U F F I X –
w h i c h , a s y o u m i g h t i m a g i n e , i s t h e
C
C
O
O
M
M
M
M
A
A
N
N
D
D
&
&
C
C
O
O
N
N
Q
Q
U
U
E
E
R
R
W r i t t e n b y L u c a s W e s t e r m a n n
P P
D D
F F
- -
P P
a a
g g
e e
- -
G G
r r
e e
p p
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 11/56f u l l c i r c l e m a g a z i n e # 8 9
1 1
c o n t e n t s ^
L u c a s h a s l e a r n e d a l l h e k n o w s f r o m
r e p e a t e d l y b r e a k i n g h i s s y s t e m , t h e n
h a v i n g n o o t h e r o p t i o n b u t t o
d i s c o v e r h o w t o f i x i t . Y o u c a n e m a i l
L u c a s a t : l s w e s t 3 4 @ g m a i l . c o m .
C O M M A N D & C O N Q U E R
s u f f i x a d d e d t o t h e n e w P D F f i l e
t h a t c o n t a i n s t h e m a t c h e s ( d e f a u l t
v a l u e : - m a t c h e s ) .
L i n e s 9 - 2 5 c o n t a i n a n i f -
s t a t e m e n t w h i c h c h e c k s w h e t h e r
o r n o t t h e r e a r e a n y a r g u m e n t s – i f
n o t , i t w i l l t h e n p r i n t o u t t h e u s a g e
i n f o r m a t i o n . W h e n I w r i t e s c r i p t s
s u c h a s t h e s e , I t e n d t o a l s o i n c l u d e
a c h e c k t o s e e i f t h e a r g u m e n t i s “ -
h ” , a n d / o r c o m p a r e i t t o a l i s t o f
a c c e p t e d a r g u m e n t s . I n t h i s c a s e I
w o u l d s k i p t h e a c c e p t e d
a r g u m e n t s , a s y o u ' r e l o o k i n g f o r
f i l e n a m e s , a n d c a n h a r d l y h a v e a
c o m p l e t e l i s t t o c o m p a r e a g a i n s t .
L i n e s 2 7 - 2 8 c r e a t e a t e m p o r a r y
l o c a t i o n f o r s t o r i n g t h e P D F s w h i l e
t h e y ' r e b e i n g p r o c e s s e d b y t h e
s c r i p t ( a s i t c o n v e r t s t h e P D F w i t h
p d f t o t e x t i n o r d e r t o u s e g r e p o n
t h e m ) . T h i s i s a n a c c e p t e d p r a c t i c e
f o r k e e p i n g t h e s c r i p t r e s u l t s c l e a n
( i . e . n o t l e a v i n g f i l e s a l l o v e r y o u r
h o m e f o l d e r ) .
L i n e s 2 9 - 3 0 u s e s t h e t r a p
c o m m a n d t o e m p t y t h e t e m p o r a r y
f o l d e r w h e n t h e s c r i p t e x i t s
( i n c l u d i n g w h e n t h e s c r i p t i s
i n t e r r u p t e d b y t h e u s e r o r s y s t e m –
i . e . w h e n y o u h i t c t r l + c ) .
L i n e s 3 1 - 4 4 a r e a w h i l e l o o p t h a t
r e p e a t e d l y a s k s t h e u s e r f o r
p o s s i b l e s e a r c h t e r m s , u n t i l t h e y
e n t e r a n e m p t y s t r i n g . O n c e a n
e m p t y s t r i n g i s e n t e r e d , i t m o v e s
o n i n t h e p r o g r a m . T h i s p a t t e r n c a n
a l s o b e a b a s i c r e g u l a r e x p r e s s i o n .
L i n e s 4 6 – 5 4 i s a f o r l o o p t h a t
c h e c k s t h e p a s s e d a r g u m e n t s f o r
a n y b e g i n n i n g w i t h a h y p h e n – a s i t
i s a s s u m e d i t i n d i c a t e s a n
a r g u m e n t . I f I w e r e t h e o n e
a u t h o r i n g t h i s s c r i p t , I w o u l d h a v e
o p t e d f o r a n a r r a y o f a c c e p t a b l e
o p t i o n s , a n d s e a r c h e d f o r t h e m
i n s t e a d . I f y o u r f i l e n a m e s t a r t s w i t h
a h y p h e n , I w o u l d i m a g i n e t h e
s c r i p t w o u l d f a i l . H o w e v e r , i t i s
p r e t t y u n c o m m o n f o r a f i l e t o b e
n a m e d i n s u c h a w a y .
L i n e s 5 6 – 9 3 i s a f o r l o o p t h a t
b a s i c a l l y r e v e r s e s t h e c h e c k f r o m
l i n e s 4 6 - 5 4 ( c h e c k s f o r a n y
a r g u m e n t n o t b e g i n n i n g w i t h a
h y p h e n ) , a n d a s s u m e s i t i s a
f i l e n a m e . I t t h e n s t a r t s a n e w l i n e ,
p r i n t s “ m a t c h i n g p a g e s i n
< f i l e n a m e > : < l i s t o f p a g e s > ” . I n t h e
e n d y o u s h o u l d h a v e a l i s t o f e v e r y
P D F s e a r c h e d , a s w e l l a s a l i s t o f
e v e r y p a g e n u m b e r t h a t m a t c h e d
o n e o f y o u r s e a r c h t e r m s . T h e l a s t
t w o l i n e s w i l l t e l l y o u w h e r e t h e
r e s u l t s w e r e s a v e d , a n d h o w m a n y
m a t c h i n g P D F s w e r e f o u n d . T h e
a c t u a l s e a r c h i s d o n e b y c o n v e r t i n g
e a c h p a g e o f t h e p d f t o t e x t ( u s i n g
p d f t o t e x t ) , a n d t h e n p i p i n g i t
t h r o u g h g r e p t o f i n d t h e r e s u l t s . I f
t h e r e i s a m a t c h , i t w i l l r e t u r n t h e
p a g e n u m b e r , r e m e m b e r i t i n t h e
v a r i a b l e $ s e l , a n d c o n t i n u e t o t h e
n e x t p a g e . A f t e r t h e f o r l o o p o f
p a g e s i s c o m p l e t e , i t w i l l i n c r e m e n t
t h e n u m b e r o f m a t c h e d P D F s ( i f
t h e r e w a s a m a t c h ) , e x t r a c t t h e
m a t c h e d p a g e s i n t o a t e m p o r a r y
f i l e , r e s e t t h e l i s t o f m a t c h e d
p a g e s , a n d t h e n r e m e m b e r t h e
o r i g i n a l n a m e o f t h e l a s t m a t c h e d
P D F .
L i n e s 9 6 - 1 0 1 c h e c k i f t h e
n u m b e r o f m a t c h e d P D F f i l e s
e x i s t s . I f n o t , t h e r e w e r e n o
m a t c h e s , a n d t h e p r o g r a m e x i t s .
L i n e s 1 0 2 - 1 1 2 c o v e r t h e c a s e o f
o n e m a t c h i n g f i l e ( o u t p u t s “ 1
m a t c h i n g P D F f i l e ” , a n d t h e n
m o v e s t h e t e m p o r a r y f i l e i n t o t h e
f i n a l P D F o f r e s u l t s – w h i c h a v o i d s
i s s u e s w i t h p d f u n i t e e x p e c t i n g
m o r e t h a n o n e f i l e ) , a s w e l l a s
m u l t i p l e m a t c h e s . W h e n m u l t i p l e
m a t c h e d P D F s e x i s t , i t w i l l u s e
p d f u n i t e t o m e r g e t h e f i l e s i n t o t h e
- m a t c h e s p d f .
L i n e 1 1 3 – T h i s l i n e s i m p l y p r i n t s
o u t t h e n a m e o f t h e r e s u l t i n g f i l e ,
s o t h e u s e r c a n f i n d i t .
I ' v e s k i m m e d o v e r c e r t a i n
s p e c i f i c s o f t h e s c r i p t f o r t w o
r e a s o n s – o n e b e i n g b r e v i t y , a n d
t h e o t h e r b e i n g t h a t f i g u r i n g o u t
e x a c t l y h o w a s c r i p t w o r k s s i m p l y
b y r e a d i n g i t a n d r u n n i n g i t i s a
g o o d s k i l l t o h a v e , e s p e c i a l l y i f y o u
p l a n o n w r i t i n g y o u r o w n s c r i p t s o r
p r o g r a m s . I f a n y o n e h a s p a r t i c u l a r
q u e s t i o n s a b o u t a c e r t a i n s e g m e n t
o f t h e s c r i p t , y o u ' r e w e l c o m e t o
s e n d m e a q u i c k e m a i l . I f y o u h a v e
a n y o t h e r q u e s t i o n s , s u g g e s t i o n s ,
o r r e q u e s t s , y o u ' r e w e l c o m e t o
s e n d m e a n e m a i l a t
l s w e s t 3 4 + f c m @ g m a i l . c o m .
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 12/56f u l l c i r c l e m a g a z i n e # 8 9
1 2
c o n t e n t s ^
H
H
O
O
W
W
-
-
T
T
O
O
W r i t t e n b y F r a n k O b e r l e
I I
n n
s s
t t
a a
l l
l l
O O
r r
a a
c c
l l
e e
o o
n n
6 6
4 4
- -
b b
i i
t t
U U
b b
u u
n n
t t
u u
O
r a c l e , w h i c h p r o v i d e s t h e
w o r l d ’ s l e a d i n g R e l a t i o n a l
D a t a b a s e M a n a g e m e n t S y s t e m
( R D B M S ) , o f f e r s a f r e e d e v e l o p e r
l i c e n s e f o r t h e i r p r o d u c t , b u t
* b u n t u u s e r s s e e m t o b e l e f t i n t h e
c o l d . A l l i s n o t l o s t , h o w e v e r ,
b e c a u s e i n t h i s a r t i c l e I ’ l l s h o w y o u
h o w t o i n s t a l l a n d r u n t h e O r a c l e
1 1 g R 2 E x p r e s s E d i t i o n o n 6 4 - b i t
v e r s i o n s o f U b u n t u 1 2 . 0 4 a n d 1 4 . 0 4
– t h i s m a y w o r k f o r o t h e r D e b i a n -
b a s e d s y s t e m s , b u t I h a v e n ’ t
c o n f i r m e d t h a t . I f y o u a r e s e r i o u s
a b o u t b e c o m i n g a d a t a b a s e g u r u ,
t h i s i s a n e a s y w a y t o o b t a i n a
p r o f e s s i o n a l e n v i r o n m e n t i n w h i c h
t o d o s o .
T h e f o l l o w i n g w i l l e x p l a i n h o w
t o o b t a i n t h e r p m ( R e d H a t
P a c k a g e M a n a g e r ) p a c k a g e ,
c o n v e r t i t t o a d e b p a c k a g e ,
p e r f o r m t h e i n i t i a l s e t u p o f O r a c l e
X E , a n d h o w t o b e g i n u s i n g
O r a c l e ’ s S Q L - P l u s c o m m a n d - l i n e
i n t e r f a c e .
T h e r e a r e a f e w l i m i t a t i o n s .
O r a c l e i s s u i t a b l e o n l y f o r 6 4 - b i t
* b u n t u i n s t a l l a t i o n s . T h e d a t a b a s e
w i l l b e l i m i t e d t o a m e r e 1 1 G B o f
u s e r d a t a , a n d i s l i m i t e d t o u s i n g
o n l y o n e p r o c e s s o r a n d n o m o r e
t h a n 1 G B o f m e m o r y . T h e
i n s t a l l a t i o n r e q u i r e s a t l e a s t 5 1 2
M B . D e t a i l s a b o u t O r a c l e X E c a n b e
s e e n a t :
h t t p : / / w w w . o r a c l e . c o m / t e c h n e t w o
r k / d a t a b a s e / d a t a b a s e -
t e c h n o l o g i e s / e x p r e s s -
e d i t i o n / o v e r v i e w / i n d e x . h t m l
T o d o w n l o a d t h e p a c k a g e , y o u
w i l l n e e d t o c r e a t e a f r e e o n l i n e
a c c o u n t w i t h O r a c l e – a v e r y s m a l l
p r i c e t o p a y , a n d , b a s e d o n m y
e x p e r i e n c e , o n e t h a t d o e s n ’ t r e s u l t
i n a n y u n s o l i c i t e d m a t e r i a l i n y o u r
i n - b o x . T h e e - m a i l a n d t h e
p a s s w o r d y o u s e l e c t a l s o g i v e y o u
a c c e s s t o o t h e r d e v e l o p e r u t i l i t i e s .
T h r o u g h o u t t h e s e i n s t r u c t i o n s ,
t h e u s e o f a t e x t e d i t o r i s r e q u i r e d .
T h e e x a m p l e c o m m a n d s a s s u m e
t h e u s e o f g e d i t , s i n c e t h a t i s
U b u n t u ’ s d e f a u l t e d i t o r , b u t y o u
c a n u s e a n y t e x t e d i t o r y o u w a n t .
S t e p A : Y o u w i l l n e e d t o k n o w
t h e a m o u n t o f i n s t a l l e d R A M a s a
n u m b e r o f b y t e s . T h e e a s i e s t w a y
t o d o t h i s i s t o s e e t h e v a l u e
d i s p l a y e d i n “ S y s t e m S e t t i n g s . . . ”
f r o m t h e d e s k t o p , b u t y o u m a y a l s o
u s e :
sudo lshw -short -C memory
T h e n u m b e r m u s t b e a t l e a s t
5 1 2 M B ; t o c o n v e r t t h a t t o a n e x a c t
b y t e c o u n t , u s e t h e f o r m u l a : 5 1 2 *
1 , 0 4 8 , 5 7 6 = 5 3 6 , 8 7 0 , 9 1 2 b y t e s
( m u l t i p l y G B b y 1 0 7 3 7 4 1 8 2 4 t o
o b t a i n b y t e s )
W r i t e t h i s n u m b e r d o w n f o r
r e f e r e n c e f o r t h e l a t e r s t e p s . I f y o u
w i s h t o a l l o c a t e m o r e R A M t o
O r a c l e , y o u m a y d o s o , b u t t h e
m i n i m u m i s u s u a l l y s u f f i c i e n t f o r a
s i n g l e u s e r r u n n i n g m u l t i p l e
a p p l i c a t i o n s .
T h e r e m a i n i n g c o m m a n d s a r e a l l
i s s u e d f r o m a t e r m i n a l , o p e n e d
w i t h C t r l + T i n U b u n t u .
S t e p B : O r a c l e 1 1 g R 2 X E
r e q u i r e s a t l e a s t 2 G B o f a v a i l a b l e
s w a p s p a c e . D e t e r m i n e i f y o u r
a v a i l a b l e s w a p s p a c e ( i n g i g a b y t e s )
i s s u f f i c i e n t b y i s s u i n g t h e
f o l l o w i n g c o m m a n d :
free -g
L o o k f o r a l i n e s i m i l a r t o t h e
f o l l o w i n g :
Swap: 13 0 13
I n t h i s e x a m p l e , t h e m a c h i n e h a s
1 3 G B a v a i l a b l e ( t h e t h i r d n u m b e r ) .
I f y o u h a v e i n s u f f i c i e n t s w a p s p a c e ,
y o u w i l l n e e d t o e i t h e r c r e a t e a
s w a p p a r t i t i o n o r a s w a p f i l e .
I n s t r u c t i o n s f o r d o i n g t h i s i n
U b u n t u a r e r e a d i l y a v a i l a b l e o n t h e
w e b , a n d s o w i l l n o t b e r e p e a t e d
h e r e .
P R E - I N S T A L L A T I O N S T E P S
S t e p C : D o w n l o a d t h e z i p f i l e
c o n t a i n i n g t h e 6 4 - b i t L i n u x p a c k a g e
n a m e d o r a c l e - x e - 1 1 . 2 . 0 -
1 . 0 . x 8 6 _ 6 4 . r p m b y s e l e c t i n g
d o w n l o a d s f r o m t h e p r e v i o u s p a g e ,
o r b y d i r e c t l y c h o o s i n g :
h t t p : / / w w w . o r a c l e . c o m / t e c h n e t w o
r k / d a t a b a s e / d a t a b a s e -
t e c h n o l o g i e s / e x p r e s s -
e d i t i o n / d o w n l o a d s / i n d e x . h t m l
S t e p D : U n z i p t h e f i l e u s i n g t h e
f o l l o w i n g c o m m a n d :
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 13/56f u l l c i r c l e m a g a z i n e # 8 9
1 3
c o n t e n t s ^
H O W T O - I N S T A L L O R A C L E
unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
S t e p E : I f y o u d o n o t h a v e t h e
p a c k a g e s a l i e n , l i a i o 1 , a n d
u n i x o d b c , y o u w i l l n e e d t o i n s t a l l
t h e m . S i n c e n o h a r m w i l l b e d o n e i f
t h e y a r e a l r e a d y i n s t a l l e d , e n t e r
t h e f o l l o w i n g c o m m a n d :
sudo apt-get install alienlibaio1 unixodbc
S t e p F : C o n v e r t t h e r e d - h a t r p m
p a c k a g e t o a n U b u n t u . d e b
p a c k a g e u s i n g t h e f o l l o w i n g
c o m m a n d :
sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm
A l i e n t a k e s q u i t e a w h i l e t o d o
a l l t h e r e q u i r e d c o n v e r s i o n s a n d
r e c o n f i g u r i n g o f t h e r p m p a c k a g e ,
b u t y o u c a n u s e t h i s t i m e t o
p e r f o r m a l l o f t h e s t e p s u p t o “ S t e p
M P e r f o r m t h e I n s t a l l a t i o n , ” b u t
d o n ’ t p r o c e e d b e y o n d t h a t u n t i l
t h e o r a c l e - x e - 1 1 . 2 . 0 -
1 . 0 . x 8 6 _ 6 4 . d e b p a c k a g e h a s b e e n
c r e a t e d .
S t e p G : C r e a t e a c h k c o n f i g
s c r i p t u s i n g a t e x t e d i t o r :
T h e R e d H a t i n s t a l l e r a s s u m e s
t h e e x i s t e n c e o f a f i l e
/ s b i n / c h k c o n f i g t h a t d o e s n ’ t e x i s t
i n U b u n t u . D o n o t l o a d t h e
c h k c o n f i g p a c k a g e t h a t i s a v a i l a b l e
f o r U b u n t u , t h o u g h , s i n c e i t c a n
c a u s e e r r o r s . I n s t e a d , c r e a t e t h e
f i l e d i r e c t l y u s i n g t h e f o l l o w i n g
c o m m a n d s :
sudo gedit /sbin/chkconfig
W h e n t h e b l a n k f i l e i s o p e n e d ,
c o p y a n d p a s t e t h e t e x t s h o w n
a b o v e r i g h t i n t o t h e e d i t o r .
S a v e t h e f i l e a n d c l o s e t h e
e d i t o r .
S t e p H : N o w a p p l y e x e c u t e
p r i v i l e g e s t o t h e / s b i n / c h k c o n f i g
f i l e y o u j u s t c r e a t e d u s i n g t h e
f o l l o w i n g c o m m a n d :
sudo chmod 755/sbin/chkconfig
Y o u c a n c o n f i r m t h e s e t t i n g s
h a v e b e e n a p p l i e d p r o p e r l y u s i n g
t h e f o l l o w i n g c o m m a n d :
ls -l /sbin
Y o u s h o u l d s e e :
-rwxr-xr-x 1 root root 660 Nov 23 20:29 /sbin/chkconfig
S t e p I : D e f i n e t h e L i n u x K e r n e l
p a r a m e t e r s
O r a c l e 1 1 g R 2 X E r e q u i r e s t h e
s e t t i n g o f s o m e a d d i t i o n a l k e r n e l
p a r a m e t e r s . F i r s t w e ’ l l c r e a t e a
s u i t a b l e O r a c l e c o n f i g u r a t i o n f i l e
u s i n g t h e e d i t o r , a n d t h e n w e ’ l l
m a k e t h e s e t t i n g s p e r m a n e n t b y
a p p l y i n g t h e m t o t h e k e r n e l s o
t h e y ’ l l b e s e t o n e a c h r e b o o t . F i r s t
c r e a t e t h e f i l e u s i n g t h e e d i t o r .
sudo gedit /etc/sysctl.d/60-
oracle.conf
W h e n t h e b l a n k f i l e i s o p e n e d ,
c o p y a n d p a s t e t h e t e x t s h o w n
b e l o w i n t o t h e e d i t o r .
T h e v a l u e u s e d f o r
k e r n e l . s h m m a x i n t h e l a s t l i n e
a b o v e ( 5 3 6 8 7 0 9 1 2 ) i s t h e m i n i m u m
r e c o m m e n d e d a m o u n t o f R A M
f r o m S t e p A a b o v e . F o r u s e o f
O r a c l e w h i l e l e a r n i n g , t h i s i s
p r o b a b l y s u f f i c i e n t , b u t t h e v a l u e
m a y b e i n c r e a s e d u p t o t h e a m o u n t
o f R A M i n y o u r s y s t e m i f d e s i r e d
( i . e . t h e n u m b e r d o e s n o t n e e d t o
m a t c h t h e a m o u n t o f R A M i n y o u r
s y s t e m , b u t i t c a n n o t e x c e e d i t . )
#!/bin/bash# This file was created for, and only required for the# Oracle RDBMS 11gR2 XE installation.file=/etc/init.d/oracle-xeif [[ ! `tail -n1 $file | grep INIT` ]]; then
echo >> $fileecho '### BEGIN INIT INFO' >> $fileecho '# Provides: OracleXE' >> $fileecho '# Required-Start: $remote_fs $syslog' >> $fileecho '# Required-Stop: $remote_fs $syslog' >> $fileecho '# Default-Start: 2 3 4 5' >> $fileecho '# Default-Stop: 0 1 6' >> $fileecho '# Short-Description: Oracle 11g XE' >> $fileecho '### END INIT INFO' >> $file
fiupdate-rc.d oracle-xe defaults 80 01
# Oracle 11g XE kernel parameters# Temporary file used for Oracle Installationfs.file-max=6815744net.ipv4.ip_local_port_range=9000 65000kernel.sem=250 32000 100 128kernel.shmmax=536870912
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 14/56
f u l l c i r c l e m a g a z i n e # 8 9 1 4
c o n t e n t s ^
H O W T O - I N S T A L L O R A C L E
S a v e t h e f i l e a n d c l o s e t h e
e d i t o r .
C o n f i r m t h e s e t t i n g s h a v e b e e n
a p p l i e d u s i n g t h e f o l l o w i n g
c o m m a n d :
sudo cat /etc/sysctl.d/60-
oracle.conf
S t e p J : L o a d t h e L i n u x K e r n e l
p a r a m e t e r s
sudo service procps start
T h i s c o m m a n d s h o u l d r e t u r n :
me@myMachine:~$ procpsstop/waiting
V e r i f y t h e t h a t p a r a m e t e r s h a v e
b e e n l o a d e d b y i s s u i n g t h e
c o m m a n d :
sudo sysctl -q fs.file-max
T h i s c o m m a n d s h o u l d r e t u r n
s o m e t h i n g l i k e t h e f o l l o w i n g :
me@myMachine:~$ fs.file-max =773266
S t e p K : O n a n U b u n t u s y s t e m ,
/ d e v / s h m i s d e f i n e d a s a l i n k t o
/ r u n / s h m , b u t a l i n k w o n ’ t s a t i s f y
O r a c l e , s o t h e l i n k n e e d s t o b e
r e m o v e d a n d r e p l a c e d w i t h a n
a c t u a l d i r e c t o r y w h i c h i s t h e n
m o u n t e d . T o d o s o , e x e c u t e t h e
f o l l o w i n g c o m m a n d s :
sudo rm -rf /dev/shm
sudo mkdir /dev/shm
sudo mount -t tmpfs shmfs -osize=2048m /dev/shm
( T h e s i z e v a l u e c a n b e a n y v a l u e u p
t o t h e s i z e o f y o u r R A M i n M B , b u t
I ’ v e f o u n d 2 0 4 8 i s q u i t e s u f f i c i e n t ) .
T o m a k e t h e s e c h a n g e s
p e r m a n e n t , w e n e e d t o c r e a t e
a n o t h e r f i l e c a l l e d S 0 1 s h m _ l o a d i n
t h e d i r e c t o r y / e t c / r c 2 . d , s o a n o t h e r
e d i t i n g s e s s i o n i s r e q u i r e d :
sudo gedit/etc/rc2.d/S01shm_load
C o p y a n d p a s t e t h e t e x t s h o w n
a b o v e r i g h t i n t o t h e e d i t o r .
S a v e t h e f i l e a n d c l o s e t h e
e d i t o r .
C o n f i r m t h e s e t t i n g s h a v e b e e n
a p p l i e d u s i n g t h e f o l l o w i n g
c o m m a n d :
ls -l /etc/rc2.d
T h e r e s h o u l d b e a n a p p r o p r i a t e
l i n e f o r t h e n e w f i l e s i m i l a r t o t h e
f o l l o w i n g :
-rw-r--r-- 1 root root 273 Nov 23 20:41 S01shm_load
N o w s e t e x e c u t e p e r m i s s i o n s
f o r t h e f i l e w i t h t h e c o m m a n d :
sudo chmod 755/etc/rc2.d/S01shm_load
C o n f i r m t h a t t h i s w a s s u c c e s s f u l
b y r e p e a t i n g t h e l a s t c o m m a n d :
ls -l /etc/rc2.d
I f s u c c e s s f u l , t h e a p p r o p r i a t e
r e s u l t l i n e s h o u l d l o o k l i k e t h i s :
-rwxr-xr-x 1 root root 273 Nov 23 20:41 S01shm_load
U s i n g t h e m o u n t c o m m a n d ,
c o n f i r m t h a t t h e s h m f s t e m p o r a r y
f i l e s y s t e m h a s b e e n l o a d e d b y
l o o k i n g f o r a l i n e l i k e t h e f o l l o w i n g
t o w a r d t h e e n d o f t h e l i s t i n g :
shmfs on /dev/shm type tmpfs(rw,size=2048m)
S t e p L : T h e R e d H a t i n s t a l l a t i o n
p r o c e s s u s e s t h e / b i n / a w k u t i l i t y
b u t , s i n c e U b u n t u p l a c e s t h i s a t
/ u s r / b i n / a w k , w e n e e d t o c r e a t e a
s y m b o l i c l i n k t o t h e l o c a t i o n R e d
H a t e x p e c t s b y i s s u i n g t h e
f o l l o w i n g c o m m a n d :
sudo ln -s /usr/bin/awk/bin/awk
C r e a t e a n e m p t y l i s t e n e r
d i r e c t o r y a n d l i s t e n e r f i l e f o r
O r a c l e ’ s u s e b y i s s u i n g t h e
f o l l o w i n g c o m m a n d s :
mkdir /var/lock/subsys
touch/var/lock/subsys/listener
D O N O T P R O C E E D B E Y O N D
#!/bin/sh# This file was created for and only required by# the Oracle RDBMS installation.case "$1" in
start) mkdir /var/lock/subsys 2>/dev/nulltouch /var/lock/subsys/listenerrm /dev/shm 2>/dev/null mkdir /dev/shm 2>/dev/null mount -t tmpfs shmfs -o size=2048m /dev/shm ;;
*) echo errorexit 1;;
esac
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 15/56
f u l l c i r c l e m a g a z i n e # 8 9 1 5
c o n t e n t s ^
H O W T O - I N S T A L L O R A C L E
T H I S P O I N T U N T I L T H E o r a c l e - x e -
1 1 . 2 . 0 - 1 . 0 . x 8 6 _ 6 4 . d e b p a c k a g e
h a s b e e n c r e a t e d ( s e e s t e p F ) .
S t e p M : P e r f o r m t h e I n s t a l l a t i o n
E n s u r e t h a t y o u a r e i n t h e
d i r e c t o r y w h e r e t h e o r a c l e - x e -
1 1 . 2 . 0 - 1 . 0 . x 8 6 _ 6 4 . d e b f i l e w a s
c r e a t e d i n S t e p F . B e g i n t h e
i n s t a l l a t i o n w i t h t h e f o l l o w i n g
c o m m a n d :
sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb
S t e p N : R e m o v e e x t r a n e o u s
i n s t a l l a t i o n a r t i f a c t
B y d e f a u l t , t h e R e d H a t
i n s t a l l a t i o n p r o c e d u r e c r e a t e s a
d e s k t o p s t a r t i c o n , b u t t h i s w o n ’ t
w o r k u n d e r U b u n t u , s o e i t h e r
r e c o n f i g u r e i t , o r d e l e t e i t w i t h t h e
f o l l o w i n g c o m m a n d :
rm $HOME/Desktop/oraclexe-gettingstarted.desktop
S t e p O : C o n f i g u r e t h e O r a c l e
I n s t a l l a t i o n
O n c e i n s t a l l e d , O r a c l e n e e d s t o
b e c o n f i g u r e d p r i o r t o u s i n g i t . T h e
u t i l i t y t o d o t h i s i s r u n w i t h t h e
f o l l o w i n g c o m m a n d :
sudo /etc/init.d/oracle-xeconfigure
Y o u w i l l n e e d t o e n t e r t h e
f o l l o w i n g i n f o r m a t i o n :
A v a l i d H T T P p o r t f o r t h e O r a c l e
A p p l i c a t i o n E x p r e s s ( u n l e s s y o u
h a v e a g o o d r e a s o n f o r n o t d o i n g
s o , a c c e p t t h e d e f a u l t v a l u e o f
8 0 8 0 b y p r e s s i n g E n t e r a t t h e
p r o m p t )
A v a l i d p o r t f o r t h e O r a c l e
d a t a b a s e l i s t e n e r ( u n l e s s y o u h a v e
a g o o d r e a s o n f o r n o t d o i n g s o ,
a c c e p t t h e d e f a u l t v a l u e o f 1 5 2 1 b y
p r e s s i n g E n t e r )
A s i n g l e p a s s w o r d f o r b o t h t h e
S Y S a n d S Y S T E M a d m i n i s t r a t i v e
u s e r a c c o u n t s ; y o u w i l l b e a s k e d t o
r e - e n t e r t h e p a s s w o r d f o r
c o n f i r m a t i o n . S A V E T H I S
P A S S W O R D ! ! I t i s f o r t h e s y s t e m
u s e r “ O r a c l e . ”
Y o u w i l l t h e n b e a s k e d w h e t h e r
y o u w a n t t h e d a t a b a s e s e r v i c e t o
s t a r t a u t o m a t i c a l l y e a c h t i m e t h e
c o m p u t e r s t a r t s . I t i s m o s t
c o n v e n i e n t t o h a v e t h e s e r v i c e r u n
a t l o g - i n , s o a n s w e r “ Y e s . ” Y o u ’ l l
s e e :
Starting Oracle Net Listener.
S t e p P : S e v e r a l e n v i r o n m e n t
v a r i a b l e s n e e d t o b e s e t u p f o r
O r a c l e t o r u n ; t h i s i s d o n e b y
e d i t i n g t h e e x i s t i n g ( h i d d e n )
. b a s h r c f i l e u s i n g t h e f o l l o w i n g
c o m m a n d :
sudo gedit $HOME/.bashrc
A d d t h e l i n e s s h o w n b e l o w t o
t h e e n d o f t h e . b a s h r c f i l e :
S a v e t h e f i l e a n d c l o s e t h e
e d i t o r . R e l o a d y o u r p r o f i l e b y
i s s u i n g t h e f o l l o w i n g c o m m a n d s :
cd $HOME
. ./.profile
T h e c o m m a n d a b o v e i s “ p e r i o d ,
s p a c e , p e r i o d , s l a s h , p e r i o d ”
f o l l o w e d b y t h e w o r d “ p r o f i l e . ” T h e
c o m m a n d w i l l o n l y t a k e a s e c o n d
t o e x e c u t e a n d w o n ’ t d i s p l a y
a n y t h i n g i f i t e x e c u t e d s u c c e s s f u l l y .
S t e p Q : S t a r t O r a c l e :
D e p e n d i n g o n w h e t h e r o r n o t
y o u c h o s e t h e o p t i o n t o h a v e
O r a c l e s t a r t a t b o o t , t h e o r a c l e - x e
s e r v i c e m a y o r m a y n o t h a v e
a l r e a d y b e e n s t a r t e d . E x e c u t e t h e
f o l l o w i n g c o m m a n d a n y w a y :
sudo service oracle-xe start
I f t h e s e r v i c e h a s a l r e a d y b e e n
s t a r t e d , y o u w i l l r e c e i v e t h e
m e s s a g e :
Oracle Database 11g ExpressEdition instance is alreadystarted
######################################################### The following lines were added on mm/dd/yyyy to supportthe use of# Oracle 11gR02 terminal operations [SQL*Plus] by [Your Name]export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xeexport ORACLE_SID=XEexport NLS_LANG= $̀ORACLE_HOME/bin/nls_lang.sh̀export ORACLE_BASE=/u01/app/oracleexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATHexport PATH=$ORACLE_HOME/bin:$PATH########################################################Save the file and close the editor. Reload your profile byissuing the following commands:cd $HOME. ./.profile
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 16/56
f u l l c i r c l e m a g a z i n e # 8 9 1 6
c o n t e n t s ^
H O W T O - I N S T A L L O R A C L E
O t h e r w i s e , t h e f o l l o w i n g
m e s s a g e w i l l a p p e a r :
Starting Oracle Database 11gExpress Edition instance.
S t e p R : C r e a t e a D a t a b a s e U s e r
F o r n o r m a l a c t i v i t i e s , y o u s h o u l d
c r e a t e o n e o r m o r e i n d i v i d u a l
d a t a b a s e u s e r a c c o u n t s . T o d o s o ,
e x e c u t e t h e f o l l o w i n g c o m m a n d :
sqlplus sys as sysdba
T h e f o l l o w i n g m e s s a g e w i l l b e
d i s p l a y e d , c o n f i r m i n g t h a t y o u r
i n s t a l l a t i o n h a s b e e n s u c c e s s f u l :
SQL*Plus: Release 11.2.0.2.0Production on Wed May 912:12:16 2012Copyright (c) 1982, 2011,Oracle. All rights reserved.Enter password:
E n t e r t h e p a s s w o r d y o u c h o s e i n
S t e p O : . A s s u m i n g y o u e n t e r e d t h e
c o r r e c t p a s s w o r d , t h e f o l l o w i n g
m e s s a g e w i l l b e d i s p l a y e d ,
c o n f i r m i n g t h a t y o u r i n s t a l l a t i o n
h a s b e e n s u c c e s s f u l :
Connected to:Oracle Database 11g ExpressEdition Release 11.2.0.2.0 -64bit ProductionSQL>
I t i s a g o o d p r a c t i c e t o s e t u p
o n e o r m o r e s e p a r a t e u s e r
a c c o u n t s f o r d e v e l o p m e n t a n d
e x p e r i m e n t a t i o n – p e r h a p s e v e n
o n e f o r e a c h p r o j e c t y o u a r e
w o r k i n g o n . T h i s w i l l p e r m i t y o u t o
u s e O r a c l e w i t h o u t l o g g i n g o u t o f
y o u r c u r r e n t u s e r s e s s i o n . A s a n
e x a m p l e , y o u w o u l d c r e a t e a u s e r
n a m e d J o h n Q a n d s e t h i s p a s s w o r d
t o “ J e l l o ” b y e n t e r i n g t h e f o l l o w i n g
c o m m a n d :
create user JohnQ identified by Jello;
T h e s y s t e m w i l l r e s p o n d w i t h :
User created.
I n o r d e r t o g i v e J o h n Q t h e
a b i l i t y t o c o n n e c t t o a n d u s e t h e
s y s t e m t o c r e a t e o r a c c e s s a
d a t a b a s e , e n t e r t h e f o l l o w i n g
c o m m a n d :
grant connect, resource toJohnQ;
Y o u m a y o r m a y n o t w i s h t o a d d
o t h e r p e r m i s s i o n s t o t h a t l i s t , s u c h
a s d b a , d e p e n d i n g o n y o u r n e e d s .
T h e s y s t e m w i l l r e s p o n d w i t h :
Grant succeeded.
R e p e a t t h i s p r o c e s s t o c r e a t e
a n y o t h e r u s e r s t h a t m a y b e
n e e d e d a t t h i s t i m e .
S t e p S : L o g i n a s a U s e r a n d
C o n f i r m O p e r a t i o n s
T h e f o l l o w i n g c o m m a n d w i l l
d i s c o n n e c t y o u f r o m t h e S Y S
a c c o u n t , a n d c o n n e c t y o u t o
J o h n Q ’ s a c c o u n t t o c o n f i r m t h a t
y o u r u s e r s e t u p w a s s u c c e s s f u l :
sqlplus JohnQ/Jello
I f y o u s i m p l y t y p e “ s q l p l u s ”
a l o n e , S Q L * P l u s w i l l p r o m p t f o r a
u s e r i d a n d p a s s w o r d . A m i n i m a l
m e t h o d o f c o n f i r m i n g t h a t t h e
d a t a b a s e i s o p e r a t i o n a l i s t o
e x e c u t e t h e f o l l o w i n g c o m m a n d :
select sysdate from dual;
T h e s y s t e m w i l l r e t u r n
s o m e t h i n g t h a t l o o k s l i k e t h e
f o l l o w i n g :
SYSDATE------------------5-JUN-14
U N I N S T A L L I N G O R A C L E
T o c o m p l e t e l y u n i n s t a l l t h e
O r a c l e R D B M S , e x e c u t e t h e
f o l l o w i n g c o m m a n d s f r o m a
t e r m i n a l :
sudo -s
/etc/init.d/oracle-xe stop
sudo ps -ef | grep oracle |grep -v grep | awk '{print$2}' | xargs kill
sudo dpkg --purge oracle-xe
sudo rm -r /u01
sudo rm /etc/default/oracle-xe
sudo update-rc.d -f oracle-xeremove
R e m o v e t h e f o l l o w i n g f i l e s t h a t
a r e n o l o n g e r n e e d e d :
sudo rm /sbin/chkconfig
sudo rm /etc/sysctl.d/60-oracle.conf (may not exist)
sudo rm /etc/rc2.d/S01shm_load
R e m o v e t h e l i n e s p r e v i o u s l y
a d d e d t o t h e e n d o f
$ H O M E / . b a s h r c i n S t e p P . T h i s w i l l
p r e v e n t a n y w a r n i n g m e s s a g e s
a b o u t n o n - e x i s t e n t f i l e s f r o m
a p p e a r i n g w h e n s t a r t i n g a s h e l l .
R e m o v e t h e s y m b o l i c l i n k t o
a w k :
sudo ln -s /usr/bin/awk/bin/awk
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 17/56
f u l l c i r c l e m a g a z i n e # 8 9 1 7
c o n t e n t s ^
F r a n k i s t h e a u t h o r o f t h e b o o k
“ B u s i n e s s D a t a b a s e T r i a g e ” a n d i s
c u r r e n t l y w o r k i n g o n t h e f o l l o w - u p
b o o k , “ B u s i n e s s D a t a b a s e D e s i g n –
C l a s s N o t e s f r o m A r i s t o t l e ’ s L y c e u m ” .
H O W T O - I N S T A L L O R A C L E
E m p t y a n d t h e n r e m o v e t h e
/ v a r / l o c k / s u b s y s d i r e c t o r y :
sudo rm -Ir /var/lock/subsys
sudo rmdir /var/lock/subsys
P Y T H O N S P E C I A L E D I T I O N S :
h t t p : / / f u l l c i r c l e m a g a z i n e . o r g / i s s u e - p y 0 1 / h t t p : / / f u l l c i r c l e m a g a z i n e . o r g / i s s u e - p y 0 2 /
h t t p : / / f u l l c i r c l e m a g a z i n e . o r g / p y t h o n -
s p e c i a l - e d i t i o n - i s s u e - t h r e e /
h t t p : / / f u l l c i r c l e m a g a z i n e . o r g / p y t h o n -
s p e c i a l - e d i t i o n - v o l u m e - f o u r /
h t t p : / / f u l l c i r c l e m a g a z i n e . o r g / p y t h o n -
s p e c i a l - e d i t i o n - v o l u m e - f i v e /
h t t p : / / f u l l c i r c l e m a g a z i n e . o r g / p y t h o n -
s p e c i a l - e d i t i o n - v o l u m e - s i x /
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 18/56
f u l l c i r c l e m a g a z i n e # 8 9 1 8
c o n t e n t s ^
H
H
O
O
W
W
-
-
T
T
O
O
W r i t t e n b y E l m e r P e r r y
L L
i i
b b
r r
e e
O O
f f
f f
i i
c c
e e
P P
t t
. .
4 4
1 1
- -
C C
o o
p p
y y
S S
h h
e e
e e
t t
M M
a a
c c
r r
o o
B
a c k i n p a r t s 8 - 1 2 ( F C M i s s u e s
5 3 , 5 5 - 5 8 ) , I t o o k y o u f r o m a
b l a n k s p r e a d s h e e t t o a f u l l w o r k i n g
b u d g e t s p r e a d s h e e t . S o m e t h i n g
s i m i l a r i s w h a t I u s e t w i c e a m o n t h
t o d o m y h o m e b u d g e t . I k e e p a
w h o l e y e a r o f b u d g e t s p r e a d s h e e t s
i n o n e d o c u m e n t , w h i c h m e a n s
t w i c e a m o n t h I c o p y t h e s h e e t ,
r e n a m e i t , a n d m a k e s u r e I g e t a l l
t h e s e t t i n g s c o r r e c t t o p u t a c o p y
o f t h e c u r r e n t s h e e t a t t h e e n d o f
t h e s h e e t t a b s . B e l i e v e m e ,
m i s t a k e s h a v e b e e n m a d e . C u r s e s
h a v e b e e n b r e a t h e d . I n n o c e n t
c o m p u t e r s h a v e b e e n t h r e a t e n e d .
I n t i m e , I d e c i d e d , s i n c e I w a s
s u c h a f a l l i b l e , f l a w e d h u m a n
b e i n g , I n e e d e d t o r e d u c e t h e
n u m b e r o f s t e p s n e c e s s a r y t o
c o m p l e t e t h i s t a s k i n o r d e r t o
l e s s e n m y c h a n c e s f o r m i s t a k e s .
T h e r e s u l t w a s a m a c r o w h e r e a l l I
h a v e t o d o i s g i v e t h e s h e e t a n e w
n a m e . T h e m a c r o h a n d l e s a l l t h e
r e s t , m a k i n g s u r e i t i s c o p i e d a n d
p l a c e d a t t h e e n d o f t h e t a b l i s t .
T h e t a s k f i t s p e r f e c t l y i n t o t h e i d e a
b e h i n d m a c r o s , a r e p e a t a b l e
p r o c e s s t h a t a u t o m a t i o n c a n s p e e d
u p , o r p r e v e n t m i s t a k e s . T o d a y , I
s h a r e i t w i t h y o u .
T H E M A N U A L M E T H O D
I n o r d e r t o a p p r e c i a t e a m a c r o ,
y o u r e a l l y h a v e t o u n d e r s t a n d w h a t
i t ' s d o i n g f o r y o u , a n d t h e m i s t a k e s
y o u c a n m a k e . T h e r e f o r e , I w i l l s t a r t
w i t h t h e d e s c r i p t i o n o f t h e m a n u a l
p r o c e s s t h a t t h e m a c r o m a k e s
s i m p l e r . T h e r e i s a c t u a l l y m o r e t h a n
o n e w a y t o c o p y a s h e e t i n C a l c , b u t
I w i l l s h o w y o u t h e d i a l o g m e t h o d
w i t h a l l t h e o p t i o n s .
R i g h t - c l i c k o n t h e t a b o f t h e
s h e e t y o u w a n t t o c o p y a n d s e l e c t
M o v e / C o p y S h e e t . T h e M o v e / C o p y
d i a l o g a p p e a r s . Y o u t h e n s e l e c t
C o p y . O n e o f t h e m i s t a k e s I h a v e
m a d e i s t o f o r g e t t h i s . I e n d u p j u s t
r e n a m i n g m y s h e e t . U n d e r “ I n s e r t
B e f o r e ” s e l e c t t h e o p t i o n a t t h e
e n d “ - m o v e t o e n d p o s i t i o n - ” . I f I
f o r g e t t h i s o n e , t h e s h e e t i s p l a c e d
b e f o r e t h e c u r r e n t s h e e t r a t h e r
t h a n a t t h e e n d w h e r e I w a n t i t .
F i n a l l y , I h a v e t o r e n a m e t h e s h e e t .
T h e r e h a v e b e e n t i m e s w h i l e t r y i n g
t o r e m e m b e r t o g e t t h e o t h e r
s e t t i n g s r i g h t , t h a t I h a v e f o r g o t t e n
t o a c t u a l l y c h a n g e t h e n a m e . W h e n
I d o , t h e c o p i e d s h e e t g e t s t h e
n a m e o f t h e c u r r e n t s h e e t w i t h a
“ _ 2 ” a p p e n d e d t o t h e e n d . C l i c k O K
t o e x e c u t e t h e s e t t i n g s .
I k n o w , y o u ' r e t h i n k i n g t h a t i t ' s
n o t t h a t b a d , b u t a f t e r a f e w t i m e s
g e t t i n g i t w r o n g , y o u r i n n e r H u l k
c o m e s o u t a n d y o u w a n t t o s m a s h
t h i n g s . O k a y , m a y b e t h a t ' s j u s t m e .
T r y i n g t o b a l a n c e t h e h o m e b u d g e t
i s f r u s t r a t i n g e n o u g h w i t h o u t t h e
b o n u s o f m i s t a k e s w h i l e c o p y i n g
t h e s p r e a d s h e e t .
T H E C O P Y S H E E T M A C R O
T h e m a c r o i s n o t v e r y l o n g ( n e x t
p a g e , t o p r i g h t ) a n d y o u c a n e a s i l y
t y p e i t i n . Y o u c a n a l s o c o p y i t f r o m
h t t p : / / p a s t e b i n . c o m / s 3 i T G j N 6 .
T h e m i c r o s t a r t s b y d e c l a r i n g 3
v a r i a b l e s u s e d i n t h e b o d y o f t h e
m a c r o . “ S h e e t 1 ” a n d “ S h e e t 2 ” a r e
s t r i n g s t h a t w i l l c o n t a i n t h e n a m e s
o f t h e c u r r e n t s h e e t ( S h e e t 1 ) a n d
t h e n e w s h e e t ( S h e e t 2 ) . T h e “ D o c ”
v a r i a b l e w i l l h o l d a r e f e r e n c e t o t h e
c u r r e n t d o c u m e n t . I t i s d e c l a r e d a s
a t y p e O b j e c t b e c a u s e t h e
r e f e r e n c e i s t o a L i b r e O f f i c e A P I
o b j e c t .
Doc = ThisComponent
T h i s C o m p o n e n t i s t h e c u r r e n t
a c t i v e d o c u m e n t i n L i b r e O f f i c e . I n
t h i s c a s e , t h e m a c r o i s l o o k i n g f o r a
C a l c s p r e a d s h e e t .
If NOTDoc.supportsService("com.sun.star.sheet.SpreadsheetDocument") then
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 19/56
f u l l c i r c l e m a g a z i n e # 8 9 1 9
c o n t e n t s ^
H O W T O - L I B R E O F F I C E
MsgBox "This Macro Only Works with Calc Spreadsheets"
Exit SubEnd If
T h e “ I f ” s t a t e m e n t s c h e c k t o
m a k e s u r e t h a t t h e c u r r e n t
d o c u m e n t i s a C a l c s p r e a d s h e e t . I t
c h e c k s t o s e e w h e t h e r t h e
d o c u m e n t s u p p o r t s t h e
S p r e a d s h e e t D o c u m e n t s e r v i c e ,
i d e n t i f y i n g i t a s a C a l c s p r e a d s h e e t
a n d n o t s o m e o t h e r d o c u m e n t
t y p e . I f i t i s n o t a s p r e a d s h e e t , t h e
m a c r o p o p s u p a m e s s a g e b o x
t e l l i n g t h e u s e r t h e m a c r o w o r k s
o n l y w i t h s p r e a d s h e e t s . T h e m a c r o
t h e n e x e c u t e s a n “ E x i t S u b ” t h a t
e x i t s t h e m a c r o w i t h o u t r u n n i n g
a n y m o r e o f t h e c o d e .
Sheet1 =Doc.CurrentController.ActiveSheet.Name
T h e m a c r o u s e s t h e D o c o b j e c t
t o e x t r a c t t h e n a m e o f t h e c u r r e n t
s h e e t . T h e b r e a d c r u m b d o t
n o t a t i o n g o e s t h r o u g h a
p r o g r e s s i o n o f g e t t i n g m o r e
s p e c i f i c . C u r r e n t C o n t r o l l e r i s a
r e f e r e n c e t o t h e s e r v i c e t h a t
c o n t r o l s t h e d o c u m e n t .
A c t i v e S h e e t i s a r e f e r e n c e t o t h e
c u r r e n t l y a c t i v e s h e e t i n t h e
d o c u m e n t . F i n a l l y , N a m e g e t s t h e
n a m e o f t h e c u r r e n t s h e e t a n d t h i s
i s a s s i g n e d t o t h e v a r i a b l e S h e e t 1 .
Sheet2 = InputBox("Enter Namefor Copied Sheet:", "CopySheet", Sheet1)
T o g e t t h e n a m e o f t h e n e w
s h e e t , t h e m a c r o u s e s a n I n p u t B o x
f u n c t i o n . T h e I n p u t B o x t a k e s 3
a r g u m e n t s :
• T h e p r o m p t t o s h o w t h e u s e r
( “ E n t e r N a m e f o r C o p i e d S h e e t : ” ) .
• T h e t i t l e o f t h e I n p u t B o x w i n d o w
( “ C o p y S h e e t ” ) .
• T h e d e f a u l t t e x t ( i t j u s t u s e s t h e
n a m e o f t h e c u r r e n t s h e e t [ S h e e t 1 ]
a s t h e d e f a u l t t e x t ) .
I f t h e u s e r c l i c k s t h e O K b u t t o n ,
t h e I n p u t B o x w i l l r e t u r n t h e s t r i n g
e n t e r e d i n t h e t e x t b o x o r t h e
d e f a u l t t e x t w h e n n o c h a n g e s a r e
m a d e . I f t h e u s e r c l i c k s t h e C a n c e l
b u t t o n , a b l a n k s t r i n g i s r e t u r n e d .
If Sheet2 = "" Then Exit Sub
Do WhileDoc.Sheets.hasByName(Sheet2)
Sheet2 = InputBox(Sheet2+ _
" already exists, selecta different name:", "CopySheet", Sheet2 + "2")
If Sheet2 = "" Then ExitSubLoop
N o w , t h e m a c r o m u s t u s e s o m e
l o g i c t o d e t e r m i n e h o w t o p r o c e e d .
T h e “ I f ” c h e c k s t o s e e i f t h e
r e t u r n e d s t r i n g i s b l a n k . I f s o , t h a t
m e a n s t h a t t h e C a n c e l b u t t o n w a s
p r e s s e d , t h e r e f o r e t h e “ E x i t S u b ” i s
e x e c u t e d . “ E x i t S u b ” e x i t s t h e
m a c r o w i t h o u t r u n n i n g a n y m o r e o f
t h e r e m a i n i n g c o d e .
T h e D o W h i l e . . . L o o p c h e c k s t o
s e e i f a n o t h e r s h e e t i n t h e C a l c
d o c u m e n t h a s t h e s a m e n a m e . T h e
h a s B y N a m e m e t h o d c h e c k s t h e
s u p p l i e d n a m e a g a i n s t t h e n a m e s
o f a l l t h e s h e e t s i n t h e c o l l e c t i o n . I f
a m a t c h i s d e t e c t e d , t h e m a c r o
u s e s a n I n p u t B o x t o p r o m p t t h e
u s e r f o r a n e w , u n m a t c h e d n a m e .
T h e D o W h i l e . . . L o o p w i l l l o o p u n t i l
t h e n a m e i n S h e e t 2 d o e s n o t m a t c h
Sub CopySheetdim Sheet1 as Stringdim Sheet2 as Stringdim Doc as ObjectDoc = ThisComponent
If NOT Doc.supportsService("com.sun.star.sheet.SpreadsheetDocument") then MsgBox "This Macro Only Works with Calc Spreadsheets"Exit Sub
End IfSheet1 = Doc.CurrentController.ActiveSheet.NameSheet2 = InputBox("Enter Name for Copied Sheet:", "Copy Sheet", Sheet1)If Sheet2 = "" Then Exit SubDo While Doc.Sheets.hasByName(Sheet2)
Sheet2 = InputBox(Sheet2 + _" already exists, select a different name:", "Copy Sheet", Sheet2 + "2")If Sheet2 = "" Then Exit Sub
LoopDoc.Sheets.CopyByName(Sheet1, Sheet2, Doc.Sheets.Count)
End Sub
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 20/56
f u l l c i r c l e m a g a z i n e # 8 9
2 0
c o n t e n t s ^
H O W T O - L I B R E O F F I C E
t h e n a m e o f a n y o t h e r s h e e t . T h e
“ I f ” i n s i d e t h e l o o p e x i t s t h e m a c r o
i f C a n c e l i s p r e s s e d . I f t h e n a m e i s
u n m a t c h e d f r o m t h e s t a r t , t h e l o o p
n e v e r r u n s . T h i s p r e v e n t s t w o
s h e e t s f r o m h a v i n g t h e s a m e n a m e .
N O T E : T h e u n d e r s c o r e ( _ ) i n t h e
I n p u t B o x s t a t e m e n t i s u s e d t o
b r e a k a l o n g l i n e u p i n t o s h o r t e r
l i n e s . L i b r e O f f i c e B a s i c r e q u i r e s
t h a t t h e u n d e r s c o r e i s t h e l a s t
t h i n g o n t h e l i n e . N o t h i n g , n o t e v e n
a s p a c e , c a n f o l l o w i t . W h e n l i n e s
a r e j o i n e d i n t h i s w a y , L i b r e O f f i c e
B a s i c s e e s t h e m a s o n e l i n e .
Doc.Sheets.CopyByName(Sheet1,Sheet2, Doc.Sheets.Count)
T h e l a s t l i n e o f t h e m a c r o b r i n g s
a l l t h i s p r e p a r a t o r y w o r k t o g e t h e r
t o f i n a l l y e x e c u t e t h e c o p y . S h e e t s
i s a r e f e r e n c e t o t h e c o l l e c t i o n o f
s h e e t s i n t h e d o c u m e n t .
C o p y B y N a m e i s t h e m e t h o d t h a t
a c t u a l l y c o p i e s t h e s h e e t a n d
m o v e s i t t o t h e e n d o f t h e s h e e t
t a b s . T h e C o p y B y N a m e m e t h o d h a s
3 p a r a m e t e r s :
• T h e s h e e t t o c o p y f r o m ( S h e e t 1 ) .
• T h e s h e e t t o c o p y t o ( S h e e t 2 ) .
• T h e p o s i t i o n o f t h e n e w s h e e t
( D o c . S h e e t s . C o u n t ) .
C o u n t i s t h e t o t a l n u m b e r o f
s h e e t s i n t h e c o l l e c t i o n ( S h e e t s ) .
S i n c e t h e s h e e t n u m b e r s a r e
r e f e r e n c e d s t a r t i n g w i t h 0 , t h e u s e
o f C o u n t h e r e p u t s t h e n e w s h e e t
a t t h e e n d .
C R E A T I N G T H E C A L C M A C R O
M O D U L E
W h e n I d e v e l o p e d a n d w r o t e
t h e C o p y S h e e t m a c r o , I c r e a t e d a
m a c r o m o d u l e f o r C a l c . H e r e I
c o u l d s t o r e t h i s m a c r o a s w e l l a s
a n y f u t u r e m a c r o s d e s i g n e d f o r t h e
C a l c p r o g r a m . I t ' s a g o o d i d e a t o
g r o u p l i k e m a c r o s t o g e t h e r .
T o c r e a t e t h e m o d u l e , T o o l s >
M a c r o s > O r g a n i z e M a c r o s >
L i b r e O f f i c e B a s i c . T h e L i b r e O f f i c e
B a s i c M a c r o s d i a l o g o p e n s . C l i c k
O r g a n i z e r t o g e t t h e L i b r e O f f i c e
B a s i c M a c r o O r g a n i z e r d i a l o g .
U n d e r M y M a c r o s > S t a n d a r d , t h e r e
i s a d e f a u l t m o d u l e n a m e d M o d u l e
1 . S e l e c t i t a n d c l i c k D e l e t e . W i t h
S t a n d a r d s e l e c t e d , c l i c k N e w .
N a m e t h e n e w M o d u l e “ C a l c ” a n d
c l i c k O K . C l i c k C l o s e .
N o w b a c k i n t h e L i b r e O f f i c e
B a s i c M a c r o s d i a l o g , s e l e c t t h e n e w
“ C a l c ” m o d u l e y o u j u s t c r e a t e d a n d
c l i c k E d i t , o p e n i n g t h e L i b r e O f f i c e
M a c r o E d i t o r . D e l e t e t h e
a u t o m a t i c a l l y c r e a t e d “ S u b M a i n ”
a n d “ E n d S u b ” . T y p e i n o r c o p y a n d
p a s t e t h e S h e e t C o p y m a c r o i n t o
t h e e d i t o r . S a v e t h e m o d u l e a n d
c l o s e t h e e d i t o r .
T E S T T H E M A C R O
A f t e r t y p i n g i n t h e m a c r o a n d
s a v i n g i t , y o u w i l l w a n t t o t e s t i t t o
m a k e s u r e y o u t y p e d e v e r y t h i n g
c o r r e c t l y . F i r s t , o p e n a C a l c
d o c u m e n t o r c r e a t e a n e w o n e . Y o u
c a n t h e n t e s t t h e m a c r o b y g o i n g
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 21/56
f u l l c i r c l e m a g a z i n e # 8 9
2 1
c o n t e n t s ^
E X T R A ! E X T R A !
R E A D A L L A B O U T I T !
O u r g l o r i o u s n e w s r e p o r t e r s
a r e n o w p o s t i n g r e g u l a r n e w s
u p d a t e s t o t h e m a i n F u l l C i r c l e
s i t e .
C l i c k t h e N E W S l i n k , i n t h e s i t e
m e n u a t t h e t o p o f t h e p a g e ,
a n d y o u ' l l s e e t h e n e w s
h e a d l i n e s .
A l t e r n a t i v e l y , l o o k o n t h e r i g h t
s i d e o f a n y p a g e o n t h e s i t e ,
a n d y o u ' l l s e e t h e f i v e l a t e s t
n e w s p o s t s .
F e e l f r e e t o d i s c u s s t h e n e w s
i t e m s . I t ' s m a y b e s o m e t h i n g
t h a t c a n s p i l l b a c k f r o m t h e s i t e
i n t o t h e m a g a z i n e . E n j o y !
E l m e r P e r r y ' s h i s t o r y o f w o r k i n g , a n d
p r o g r a m m i n g , c o m p u t e r s i n v o l v e s a n
A p p l e ] [ E , a d d i n g s o m e A m i g a , a
g e n e r o u s h e l p i n g o f D O S a n d
W i n d o w s , a d a s h o f U n i x , a n d b l e n d
w e l l w i t h L i n u x a n d U b u n t u .
H e b l o g s a t
h t t p : / / e e p e r r y . w o r d p r e s s . c o m
H O W T O - L I B R E O F F I C E
t o T o o l s > M a c r o s > R u n . U n d e r
L i b r a r y , s e l e c t M y M a c r o s >
S t a n d a r d > C a l c . U n d e r “ M a c r o
N a m e ” s e l e c t C o p y S h e e t a n d c l i c k
R u n . E n t e r a n a m e f o r t h e s h e e t
l i k e “ N e w S h e e t . ” C l i c k O K . I f a l l
g o e s w e l l , a n e w s h e e t i s c r e a t e d
w i t h t h e n a m e y o u g a v e i t . Y o u w i l l
w a n t t o r e p e a t t h e t e s t a n d n o t
c h a n g e t h e n a m e t o s e e i f t h e
m a c r o p r o m p t s y o u t o c h a n g e t h e
n a m e . A l s o , t e s t t o m a k e s u r e t h e
m a c r o s t o p s w h e n y o u c l i c k o n
C a n c e l r a t h e r t h a n O K . F o r t h e f i n a l
t e s t , o p e n a t e x t d o c u m e n t a n d r u n
t h e m a c r o . Y o u s h o u l d g e t t h e
m e s s a g e t e l l i n g y o u t h a t t h e m a c r o
w o r k s o n l y o n s p r e a d s h e e t s .
N O T E : B a c k i n F u l l C i r c l e i s s u e 6 4
( L i b r e O f f i c e P a r t 1 7 : M a c r o s ) , I
s h o w e d y o u h o w t o c r e a t e a m e n u
s h o r t c u t t o a m a c r o . T h i s i s a g o o d
c a n d i d a t e f o r s u c h a s h o r t c u t .
C r e a t e t h e m e n u a n d s h o r t c u t i n
C a l c .
M a c r o s l i k e C o p y S h e e t c a n
s p e e d u p y o u r p r o c e s s e s a n d
p r e v e n t y o u f r o m m a k i n g m i s t a k e s ,
w h i c h i s t h e w h o l e i d e a b e h i n d
m a c r o s . T h i s i s j u s t a n e x a m p l e o f
s o m e t h i n g y o u c a n d o w i t h m a c r o s ,
b u t y o u c a n w r i t e y o u r o w n m a c r o s
t h a t c a n e x p a n d t h e u s e o r
c a p a b i l i t i e s o f a n y o f t h e
L i b r e O f f i c e p r o g r a m s , o r j u s t
r e d u c e a t a s k y o u d o o f t e n . A
G o o g l e s e a r c h f o r “ L i b r e O f f i c e
B a s i c ” i s a g o o d p l a c e t o s t a r t
l e a r n i n g m o r e .
T h e U b u n t u P o d c a s t c o v e r s a l l
t h e l a t e s t n e w s a n d i s s u e s f a c i n g
U b u n t u L i n u x u s e r s a n d F r e e
S o f t w a r e f a n s i n g e n e r a l . T h e
s h o w a p p e a l s t o t h e n e w e s t u s e r
a n d t h e o l d e s t c o d e r . O u r
d i s c u s s i o n s c o v e r t h e
d e v e l o p m e n t o f U b u n t u b u t
a r e n ’ t o v e r l y t e c h n i c a l . W e a r e
l u c k y e n o u g h t o h a v e s o m e g r e a t
g u e s t s o n t h e s h o w , t e l l i n g u s
f i r s t h a n d a b o u t t h e l a t e s t
e x c i t i n g d e v e l o p m e n t s t h e y a r e
w o r k i n g o n , i n a w a y t h a t w e c a n
a l l u n d e r s t a n d ! W e a l s o t a l k
a b o u t t h e U b u n t u c o m m u n i t y
a n d w h a t i t g e t s u p t o .
T h e s h o w i s p r e s e n t e d b y
m e m b e r s o f t h e U K ’ s U b u n t u
L i n u x c o m m u n i t y . B e c a u s e i t i s
c o v e r e d b y t h e U b u n t u C o d e o f
C o n d u c t i t i s s u i t a b l e f o r a l l .
T h e s h o w i s b r o a d c a s t l i v e e v e r y
f o r t n i g h t o n a T u e s d a y e v e n i n g
( B r i t i s h t i m e ) a n d i s a v a i l a b l e f o r
d o w n l o a d t h e f o l l o w i n g d a y .
p o d c a s t . u b u n t u - u k . o r g
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 22/56
f u l l c i r c l e m a g a z i n e # 8 9
2 2
c o n t e n t s ^
H H
O O
W W
- -
T T
O O
W r i t t e n b y A l e s s i o C i r e g i a
d d
c c
m m
4 4
c c
h h
e e
D I S C L A I M E R
M a y b e t h i s a r t i c l e i s n o t
i n t e n d e d f o r a w i d e r a n g e o f
p e o p l e r e a d i n g t h i s m a g a z i n e , a s I
w i l l d e s c r i b e t h e i n s t a l l a t i o n o f a
n i c h e s o f t w a r e r e l a t e d t o t h e
m e d i c a l a n d h e a l t h - c a r e e n t e r p r i s e
w o r l d .
I t i s n o t a h o m e s o f t w a r e ;
i n d e e d n o b o d y h a s a p o s i t r o n
e m i s s i o n t o m o g r a p h y ( P E T ) f a c i l i t y
a t h o m e , h a v e t h e y ?
M
a y b e I ’ m w r o n g , b u t r e a d i n g
m a g a z i n e s l i k e t h i s , I h a v e
t h e f e e l i n g t h a t U b u n t u , L i n u x a n d
F O S S i n g e n e r a l a r e m a i n l y
p e r c e i v e d , b y c o m m o n p e o p l e , a s
s o m e t h i n g r e l a t e d t o o r u s e f u l f o r :
• a h o b b y f o r g e e k s , c o m p u t e r
e n t h u s i a s t s a n d p r o g r a m m e r s
• a f r e e a n d l e g a l w a y t o a c h i e v e ,
u s i n g a P C , d a y b y d a y p e r s o n a l
i n t e r e s t s ( a n a l t e r n a t i v e t o
W i n d o w s a n d p a i d s o f t w a r e ) a n d
t a s k s s u c h a s :
• • m u l t i m e d i a a n d a m u s e m e n t :
g a m e s , i m a g e e d i t i n g a n d v i d e o
p l a y b a c k
• • p e r s o n a l a n d h o m e i n c o m e
m a n a g e m e n t
• • o f f i c e s o f t w a r e
• a n d f o r p r o f e s s i o n a l u s e , i t s e e m s
s o m e t h i n g s t r i c t l y r e l a t e d t o
i n f o r m a t i o n t e c h n o l o g y , l i k e
s o m e t h i n g m a d e b y p r o g r a m m e r s
f o r o t h e r p r o g r a m m e r s o r I T s t a f f :
• • n e t w o r k t o o l s
• • w e b s e r v e r a n d s t u f f l i k e t h a t
• • p r o g r a m m i n g l a n g u a g e s a n d
d e v e l o p m e n t t o o l s
• • a n y t h i n g s t r i c t l y r e l a t e d t o I T ,
c o m p u t e r s c i e n c e , n e t w o r k a n d s o
o n
• • a n d a t l a s t s o m e t h i n g r e l a t e d t o
b u s i n e s s
B u t t h e r e a r e o t h e r a s p e c t s o f
L i n u x a n d F O S S : t h e r e a l w o r l d , t h e
s e r i o u s t h i n g s . L i k e h e a l t h c a r e
a p p l i c a t i o n s , a s s t a t e d a b o v e .
S o , i n t h i s a r t i c l e I w i l l e x p l a i n
h o w t o i n s t a l l d c m 4 c h e e o n
U b u n t u . M a y b e , a s I s a i d b e f o r e , n o
r e a d e r o f t h i s m a g a z i n e w i l l h a v e
t h e n e e d o r t h e k n o w l e d g e t o
i n s t a l l a n d u n d e r s t a n d t h i s
s o f t w a r e , b u t i f y o u a r e a s t u d e n t ,
o r i f y o u k n o w a d e n t i s t o r a
r a d i o l o g i c a l s t u d y , m a y b e y o u
c o u l d b e i n s p i r e d b y k n o w i n g t h e
e x i s t e n c e o f t h i s s o f t w a r e .
D I C O M A N D P A C S
D I C O M ( D i g i t a l I m a g i n g a n d
C o m m u n i c a t i o n s i n M e d i c i n e ) “ i s a
s t a n d a r d f o r h a n d l i n g , s t o r i n g ,
p r i n t i n g , a n d t r a n s m i t t i n g
i n f o r m a t i o n i n m e d i c a l i m a g i n g ” .
P A C S ( P i c t u r e a r c h i v i n g a n d
c o m m u n i c a t i o n s y s t e m ) i s a
m e d i c a l i m a g i n g t e c h n o l o g y w h i c h
p r o v i d e s s t o r a g e o f a n d a c c e s s t o
i m a g e s f r o m m u l t i p l e m o d a l i t i e s .
A m o d a l i t y i s a s o u r c e m a c h i n e
w h e r e p a t i e n t ’ s i m a g e s a r e
a c q u i r e d f r o m , f o r e x a m p l e , a n X -
R a y m a c h i n e o r a M a g n e t i c
R e s o n a n c e s c a n n e r . S o m e o t h e r
a c t o r s o f a P A C S a r e : s e r v e r s ,
s t o r a g e ( N A S , S A N , t a p e s ) , p r i n t e r s ,
v i e w e r s , C D / D V D r o b o t s , e t c .
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 23/56
f u l l c i r c l e m a g a z i n e # 8 9
2 3
c o n t e n t s ^
H O W T O - D C M 4 C H E
d c m 4 c h e e
( h t t p : / / d c m 4 c h e . o r g / ) i s a D I C O M
a r c h i v e a n d i m a g e m a n a g e r , t h a t i s
t h e s e r v e r s i d e o f a P A C S s y s t e m ,
t h e s e r v e r w h e r e m e d i c a l i m a g e s
( a n x - r a y , a n u l t r a s o u n d , a m a g n e t i c
r e s o n a n c e ) w i l l b e s t o r e d , a n d f r o m
w h i c h a r a d i o l o g i s t w i l l r e t r i e v e
y o u r e x a m i n a t i o n i n o r d e r t o c a r r y
o u t a m e d i c a l r e p o r t .
“ T h e a p p l i c a t i o n c o n t a i n s t h e
D I C O M , H L 7 s e r v i c e s a n d i n t e r f a c e s
t h a t a r e r e q u i r e d t o p r o v i d e s t o r a g e ,
r e t r i e v a l , a n d w o r k f l o w t o a h e a l t h -
c a r e e n v i r o n m e n t ” . I t i s w r i t t e n i n
J a v a a n d i s p r e p a c k a g e d a n d
d e p l o y e d w i t h i n t h e J B o s s
a p p l i c a t i o n s e r v e r . I t i s o p e n s o u r c e
a n d l i c e n s e d u n d e r a n
M P L / G P L / L G P L t r i p l e l i c e n s e . T h e r e
a r e a l s o a l o t o f D I C O M r e l a t e d
t o o l s p r o v i d e d b y t h e s a m e
d e v e l o p e r s a n d c o m m u n i t y ( c a l l e d
d c m 4 c h e t o o l k i t ) , a n d s o m e D I C O M
v i e w e r s , l i k e M a y a m , O v i y a m a n d
W e a s i s .
I f y o u n e e d h e l p a n d a s s i s t a n c e
t h e r e i s a G o o g l e g r o u p w h e r e a
v i b r a n t a n d n i c e c o m m u n i t y w i l l b e
w i l l i n g t o g i v e y o u s o m e a d v i c e . O n
t h e o t h e r h a n d , t h e w i k i l a c k s a
l i t t l e b i t i n d o c u m e n t a t i o n , t h a t i s
s o m e p a g e s a r e d a t e d o r a r e
i n c o m p l e t e .
L E T ’ S I N S T A L L I T
E v e n i f s o m e w i l l i n g p e r s o n h a s
p a c k a g e d d c m 4 c h e i n a “ . d e b ”
p a c k a g e , a n d e v e n i f I ’ m a l o v e r o f
p a c k a g e m a n a g e m e n t s y s t e m s , i n
t h i s c a s e I f e e l b e t t e r i f I i n s t a l l t h i s
s o f t w a r e b y h a n d .
S o , l e t ’ s s e e h o w t o i n s t a l l
d c m 4 c h e e o n U b u n t u s e r v e r 1 4 . 0 4
L T S .
F i r s t o f a l l w e n e e d t o i n s t a l l
J a v a . I ’ m n o t s u r e i f d c m 4 c h e e
w o r k s w i t h O p e n J D K . A n d I ’ m n o t
s u r e i f i t w o r k s w i t h J a v a 1 . 7 , s o
l e t ’ s i n s t a l l O r a c l e J a v a 1 . 6 , u s i n g a
P P A r e p o s i t o r y .
sudo apt-get installsoftware-properties-common
sudo add-apt-repositoryppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java6-installer
W e n e e d t o a c c e p t t h e l i c e n s e ,
a n d s o o n .
d c m 4 c h e e n e e d s a d a t a b a s e :
P o s t g r e s , D B 2 , O r a c l e , M y S Q L , e t c .
I f y o u w a n t t o t r y i t w i t h o u t a
R D B M S , y o u c a n o p t f o r t h e H S Q L
p a c k a g e , b u t l e t ’ s i n s t a l l M y S Q L .
sudo apt-get install mysql-server
N o w w e n e e d t o c r e a t e a
s c h e m a a n d g r a n t a l l r i g h t s t o a
u s e r .
$ mysql -uroot -p*****
mysql> create schema pacsdb;
mysql> grant all on pacsdb.*to pacs@localhost identified by 'pacs';
mysql> flush privileges;
mysql> \q
N o w w e n e e d t o d o w n l o a d
J B o s s a n d d c m 4 c h e e z i p f i l e s .
D o w n l o a d J B o s s 4 . 2 . 3 . G A ( d o n ’ t
u s e a n e w e r v e r s i o n ! ) f r o m
h t t p : / / s o u r c e f o r g e . n e t / p r o j e c t s / j b
o s s / f i l e s / J B o s s / J B o s s -
4 . 2 . 3 . G A / j b o s s - 4 . 2 . 3 . G A -
j d k 6 . z i p / d o w n l o a d
D o w n l o a d t h e l a t e s t r e l e a s e o f
d c m 4 c h e e - m y s q l , 2 . 1 8 . 0 a t t i m e o f
w r i t i n g , f r o m
h t t p : / / s o u r c e f o r g e . n e t / p r o j e c t s / d c
m 4 c h e / f i l e s / d c m 4 c h e e /
P u t t h e z i p f i l e s i n a t e m p o r a r y
f o l d e r , l i k e / v a r / t m p / d c m i n s t a l l a n d
u n z i p t h e m
sudo apt-get install unzip
unzip dcm4chee-2.18.0- mysql.zip
unzip jboss-4.2.3.GA-jdk6.zip
S i n c e w e a r e o n a 6 4 - b i t
o p e r a t i n g s y s t e m , a n d t h e
d c m 4 c h e e z i p f i l e c o n t a i n s a 3 2 - b i t
v e r s i o n o f c o m p r e s s i o n l i b r a r y , w e
h a v e t o d o w n l o a d t h e p r o p e r J a v a
A d v a n c e d I m a g i n g I m a g e I / O T o o l s
f o r l i n u x 6 4 - b i t f r o m
h t t p : / / d o w n l o a d . j a v a . n e t / m e d i a / j a i
- i m a g e i o / b u i l d s / r e l e a s e / 1 . 1 / a n d
r e p l a c e t h e L i n u x v e r s i o n o f
l i b c l i b _ j i i o . s o
wgethttp://download.java.net/media/jai-imageio/builds/release/1.1/jai_imageio-1_1-lib-linux-amd64.tar.gz
tar xzvf jai_imageio-1_1-lib-linux-amd64.tar.gz
cp/var/tmp/install/jai_imageio-1_1/lib/libclib_jiio.so/var/tmp/install/dcm4chee-2.18.0-
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 24/56
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 25/56
f u l l c i r c l e m a g a z i n e # 8 9
2 5
c o n t e n t s ^
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 26/56
f u l l c i r c l e m a g a z i n e # 8 9
2 6
c o n t e n t s ^
H H
O O
W W
- -
T T
O O
W r i t t e n b y R o n n i e T u c k e r
G
G
I
I
M
M
P
P
-
-
P
P
e
e
r
r
s
s
p
p
e
e
c
c
t
t
i
i
v
v
e
e
C
C
l
l
o
o
n
n
e
e
T
T
o
o
o
o
l
l
N
i c h o l a s i s a b s e n t t h i s w e e k , s o
I t h o u g h t I ’ d s t e p i n a n d s h o w
y o u a m u c h o v e r l o o k e d , y e t
p o w e r f u l , f e a t u r e i n G I M P :
P e r s p e c t i v e C l o n e .
C l o n i n g w i l l t a k e w h a t ’ s u n d e r
y o u r s o u r c e a n d c o p y i t t o a
d e s t i n a t i o n . T h a t ’ s ‘ c r e a t e ’ f o r
m a k i n g t w o o f y o u i n o n e p h o t o ,
b u t w h a t i f t h e c l o n i n g i n v o l v e s
p e r s p e c t i v e . T h a t i s : s m a l l e r i n t h e
d i s t a n c e a n d l a r g e r i n t h e
f o r e g r o u n d .
I ’ l l u s e t h i s p h o t o a s a r e f e r e n c e :
F i r s t , c l i c k t h e
P e r s p e c t i v e C l o n e t o o l
( s h o w n l e f t ) .
I n t h e T o o l O p t i o n s t a b ( u s u a l l y
o n t h e l e f t ) , m a k e s u r e M o d i f y
P e r s p e c t i v e i s c h o s e n :
N o w c l i c k o n t h e i m a g e a n d
a d j u s t t h e c o r n e r b o x e s t o a l i g n
w i t h t h e p e r s p e c t i v e o f t h e i m a g e :
N o w t h a t G I M P k n o w s t h e
p e r s p e c t i v e o f t h e b u i l d i n g c h o o s e
P e r s p e c t i v e C l o n e f r o m t h e T o o l
O p t i o n s :
N o w , l i k e y o u w o u l d w i t h
n o r m a l c l o n i n g , h o l d d o w n C T R L t o
c h o o s e y o u r s o u r c e a n d c l i c k .
F i n a l l y , d r a w w h e r e y o u w a n t t o
c l o n e t o . S i m p l e a s t h a t !
B E F O R E
A F T E R
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 27/56
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 28/56
H O W T O - I N K S C A P E
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 29/56
f u l l c i r c l e m a g a z i n e # 8 9
2 9
c o n t e n t s ^
M a r k u s e s I n k s c a p e t o c r e a t e t h r e e
w e b c o m i c s , ' T h e G r e y s ' , ' M o n s t e r s ,
I n k e d ' a n d ' E l v i e ' , w h i c h c a n a l l b e
f o u n d a t
h t t p : / / w w w . p e p p e r t o p . c o m /
O n c e y o u ' v e g o t t h e h a n g o f t h e
b a s i c t e c h n i q u e , i t s h o u l d n ' t b e
h a r d t o s e e t h a t e x t e n d i n g i t t o
t h r e e c l o n e s l e t s y o u c r e a t e
d r a w i n g s t h a t a r e m i r r o r e d b o t h
h o r i z o n t a l l y a n d v e r t i c a l l y .
F l i p p i n g t h e c l o n e s l i k e t h i s i s a
g o o d s t a r t , b u t w h y n o t t r y o t h e r
t r a n s f o r m a t i o n s o n t h e m ? R o t a t i n g
t h e m i s a g r e a t o p t i o n a n d h o l d i n g
d o w n C T R L t o l o c k t h e r o t a t i o n t o
t h e f i x e d s t e p s d e f i n e d i n
I n k s c a p e ' s p r e f e r e n c e s c a n q u i c k l y
p r o d u c e k a l e i d o s c o p i c e f f e c t s . T r y
s e t t i n g d i f f e r e n t o p a c i t i e s f o r e a c h
g r o u p , o r b l u r r i n g s o m e o f t h e m .
W i t h i n a f e w m i n u t e s , y o u ' l l b e
c r e a t i n g w o r k s o f a b s t r a c t
c o m p u t e r a r t w i t h j u s t a c o u p l e o f
s q u i g g l e s o f t h e m o u s e .
T h i s e x a m p l e w a s m a d e b y
r o t a t i n g t h e o r i g i n a l s q u a r e a b o u t
i t s b o t t o m r i g h t c o r n e r . B y m o v i n g
t h e c e n t e r o f r o t a t i o n f o r t h e
o r i g i n a l , i t w a s a l r e a d y i n t h e
c o r r e c t p l a c e a s e a c h c l o n e w a s
c r e a t e d . T h e n I s i m p l y c l o n e d t h e
o r i g i n a l g r o u p a n d r o t a t e d i t w h i l s t
h o l d i n g C T R L . I r e d u c e d t h e o p a c i t y
a n d i n c r e a s e d t h e b l u r a l i t t l e .
P r e s s i n g C T R L - D c r e a t e d t h e n e x t
c l o n e , a n d t h e c y c l e w a s r e p e a t e d
u n t i l I h a d c o m p l e t e d a f u l l c i r c l e o f
c l o n e s . B r i n g i n g t h e o r i g i n a l t o t h e
f r o n t , d o u b l e c l i c k i n g o n i t , t h e n
d r a w i n g a s i n g l e s h a p e w i t h t h e
P e n c i l t o o l ( w i t h t h e S h a p e c o n t r o l
s e t t o “ E l l i p s e ” ) p r o d u c e d t h i s
a b s t r a c t i m a g e , s p i r a l l i n g a w a y t o
n o t h i n g n e s s .
I f y o u d o t r y t h i s t e c h n i q u e a n d
d e c i d e t o u s e b l u r r i n g o n y o u r
c l o n e s a s I h a v e d o n e h e r e , y o u ' l l
s o o n f i n d t h a t I n k s c a p e c a n s l o w
d o w n t o a c r a w l . I t ' s n o t j u s t
b l u r r i n g t h a t h a s t h i s e f f e c t – a n y
o f I n k s c a p e ' s f i l t e r f u n c t i o n s c a n
r e s u l t i n t h e r e n d e r i n g e n g i n e
h a v i n g t o p e r f o r m c o p i o u s
c a l c u l a t i o n s , s l o w i n g i t d o w n
c o n s i d e r a b l y . I f y o u f i n d t h i s t o b e a
p r o b l e m , y o u c a n t r y t u r n i n g o f f
t h e d i s p l a y o f f i l t e r s u s i n g t h e V i e w
> D i s p l a y M o d e > N o F i l t e r s o p t i o n .
A n y c h a n g e s y o u m a k e t o f i l t e r e d
e l e m e n t s w i l l s t i l l b e s t o r e d , s a v e d
a n d a p p l i e d i f y o u e x p o r t a b i t m a p
– t h e y j u s t w o n ' t s h o w u p o n
s c r e e n . U s e V i e w > D i s p l a y M o d e >
N o r m a l t o s e e t h e p a g e i n i t s f u l l y
r e n d e r e d g l o r y . Y o u c a n p r e s s
C T R L + 5 ( o n t h e n u m e r i c k e y p a d ) t o
c y c l e t h r o u g h t h e v i e w m o d e s ,
i n c l u d i n g t h e “ o u t l i n e ” m o d e w h i c h
i s g r e a t f o r f i n d i n g r o g u e e l e m e n t s
t h a t h a v e b e c o m e i n v i s i b l e d u e t o
t o o m u c h b l u r r i n g o r t o o l o w a n
o p a c i t y . T h i s i s a u s e f u l s h o r t c u t t o
l e a r n i f y o u f i n d y o u r s e l f p l a g u e d
b y s l o w r e d r a w s a s y o u c a n p r e s s i t
a t a n y t i m e – e v e n i n t h e m i d d l e o f
a r e d r a w – i f y o u d o n ' t n e e d t o s e e
t h e f u l l y f i l t e r e d v e r s i o n o f t h e
i m a g e f o r t h e p a r t i c u l a r e d i t y o u ' r e
m a k i n g a t t h e t i m e .
W h e t h e r y o u ' r e c r e a t i n g s w i r l y
p a t t e r n s o r a r m i e s o f c h a r a c t e r s ,
t h e r e w i l l c o m e a t i m e w h e n y o u
w a n t t o b r e a k t h e l i n k b e t w e e n a
c l o n e a n d i t s p a r e n t . P e r h a p s y o u r
s n o w m a n n e e d s a c o m p l e t e l y
d i f f e r e n t s m i l e t o i t s c o m r a d e s , o r
y o u r s o f t , p a s t e l s p i r a l n e e d s a
s i n g l e b r i g h t r e d s e g m e n t t o d r a w
t h e e y e . W h a t y o u r e a l l y w a n t i s a
c o p y o f t h e p a r e n t o b j e c t t h a t y o u
c a n m o d i f y a s m u c h a s y o u w a n t
w i t h o u t b e i n g c o n s t r a i n e d b y t h a t
p e s k y l i n k a g e .
Y o u c o u l d , o f c o u r s e , j u s t c r e a t e
a c o p y a s n o r m a l , b u t i f y o u ' v e
a l r e a d y g o t a c l o n e i n t h e r i g h t
p l a c e , i t s e e m s a s h a m e n o t t o u s e
i t . T h e E d i t > C l o n e > U n l i n k C l o n e
m e n u i t e m w i l l d o w h a t y o u w a n t ,
t u r n i n g a n y s e l e c t e d c l o n e i n t o a
p l a i n , o l d f a s h i o n e d c o p y . U s e i t
w i s e l y b e c a u s e a l t h o u g h i t ' s e a s y
t o c o n v e r t a c l o n e i n t o a c o p y , y o u
c a n ' t g o b a c k i n t h e o p p o s i t e
d i r e c t i o n .
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 30/56
f u l l c i r c l e m a g a z i n e # 8 9
3 0
c o n t e n t s ^
H H
O O
W W
- -
T T
O O
W r i t t e n b y R o n n i e T u c k e r
A A
r r
d d
u u
i i
n n
o o
L
a s t m o n t h w a s a m e r g e o f t w o
s k e t c h e s i n t o o n e w h i c h
r e s u l t e d i n k e y p a d p r e s s e s b e i n g
d i s p l a y e d o n a n L C D s c r e e n . T h i s
m o n t h I ’ m k e e p i n g t h e s a m e c i r c u i t
b u t a d d i n g m o r e c o d e .
W E L C O M E !
I t h o u g h t i t ’ d b e n i c e i f t h e
A r d u i n o c o u l d t a k e t h e k e y p a d
i n p u t a n d c h e c k i t a g a i n s t a k n o w n
p a s s w o r d . W e l l , t h e r e j u s t h a p p e n s
t o b e a h a n d y d a n d y l i b r a r y c a l l e d
P a s s w o r d . Y o u c a n g r a b i t f r o m :
h t t p : / / p l a y g r o u n d . a r d u i n o . c c / C o d e
/ P a s s w o r d .
A s i t s a y s o n t h e p a g e ,
d o w n l o a d , u n a r c h i v e a n d c o p y t h e
f o l d e r t o y o u r s k e t c h e s l i b r a r y
f o l d e r . N o w y o u c a n u s e
#include <Password.h>
i n y o u r c o d e .
M e r g i n g t h e c o d e w a s n ’ t g o i n g
s o w e l l f o r m e u n t i l I f o u n d t h i s
e x a m p l e :
h t t p s : / / s i t e s . g o o g l e . c o m / s i t e / a r d u i
n o m e g a 2 5 6 0 p r o j e c t s / h o m e / l e v e l -
3 / k e y m e m b r a n e - a n d - l c d - p a s s w o r d -
l o c k . T h i s i s p r e t t y m u c h w h a t I
w a n t e d t o a c h i e v e – b u t w i t h m y
3 x 4 k e y p a d .
A f t e r m u c h t i n k e r i n g , I m a n a g e d
t o g e t i t w o r k i n g . O n e t h i n g t h a t
d i d c a t c h m e o u t f o r a w h i l e w a s
t h e i n c l u d e s t a t e m e n t s . A p p a r e n t l y
y o u s h o u l d n ’ t p u t t h i n g s b e t w e e n
t h e i n c l u d e s t a t e m e n t s . I h a d t h e
P a s s w o r d ( “ 4 3 2 1 ” ) l i n e r i g h t b e l o w
t h e P a s s w o r d i n c l u d e , b u t b e f o r e
t h e L i q u i d C r y s t a l i n c l u d e , s o t h a t
s t u m p e d m e f o r a b i t . O n c e I g o t
p a s t t h a t , I g o t s t u m p e d w i t h w h y i t
w o u l d n ’ t a c c e p t t h e p a s s w o r d .
A f t e r m u c h t r i a l a n d e r r o r I f o u n d
t h a t i n t h e l i n e :
case ' ': guessPassword(); break;
t h e “ c a s e ‘ ‘ “ s t a t e m e n t i s
e f f e c t i v e l y t h e ‘ e n t e r ’ k e y f o r t h e
p a s s w o r d . S o , c h a n g i n g t h e ‘ ‘ t o ‘ # ’
w o r k e d a t r e a t . A f t e r t h a t I t i d i e d
u p t h e b e f o r e a n d a f t e r s c r e e n s .
N o w i t s a y s ‘ E n t e r c o d e : ’ . Y o u
e n t e r a f o u r d i g i t c o d e a n d p r e s s
t h e h a s h k e y ( # ) t o f i n i s h . T h e L C D
s c r e e n w i l l e i t h e r s a y ‘ I N V A L I D
P A S S W O R D ’ , p a u s e , a n d r e t u r n t o
t h e ‘ E n t e r c o d e : ’ s c r e e n , o r i t w i l l
s a y ‘ V A L I D P A S S W O R D ’ , p a u s e ,
d i s p l a y ‘ W e l c o m e ! ’ , p a u s e , t h e n
r e t u r n t o t h e ‘ E n t e r c o d e : ’ s c r e e n .
M y c o d e i s a t :
h t t p : / / p a s t e b i n . c o m / V 0 f 9 G B F f .
N o w , w o u l d n ’ t i t b e n i c e i f i t
s t o p p e d a t ‘ W e l c o m e ! ’ a n d w a i t e d
f o r s o m e t h i n g t o h a p p e n b e f o r e
n e e d i n g a c o d e o r s o m e t h i n g … ?
R o n n i e i s t h e f o u n d e r a n d ( s t i l l ! )
e d i t o r o f F u l l C i r c l e . H e ' s a p a r t - t i m e
a r t s a n d c r a f t s s o r t o f g u y , a n d n o w
a n A r d u i n o t i n k e r e r .
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 31/56
f u l l c i r c l e m a g a z i n e # 8 9
3 1
c o n t e n t s ^
H
H
O
O
W
W
-
-
T
T
O
O
W r i t t e n b y R o n n i e T u c k e r
W W
r r
i i
t t
e e
F F
o o
r r
F F
u u
l l
l l
C C
i i
r r
c c
l l
e e
M M
a a
g g
a a
z z
i i
n n
e e
G U I D E L I N E S
T
h e s i n g l e r u l e f o r a n a r t i c l e i s
t h a t i t m u s t s o m e h o w b e
l i n k e d t o U b u n t u o r o n e o f t h e
m a n y d e r i v a t i v e s o f U b u n t u
( K u b u n t u , X u b u n t u , L u b u n t u , e t c ) .
R U L E S
• T h e r e i s n o w o r d l i m i t f o r a r t i c l e s ,
b u t b e a d v i s e d t h a t l o n g a r t i c l e s
m a y b e s p l i t a c r o s s s e v e r a l i s s u e s .
• F o r a d v i c e , p l e a s e r e f e r t o t h e
O f f i c i a l F u l l C i r c l e S t y l e G u i d e :
h t t p : / / u r l . f u l l c i r c l e m a g a z i n e . o r g / 7 5
d 4 7 1
• W r i t e y o u r a r t i c l e i n w h i c h e v e r
s o f t w a r e y o u c h o o s e , I w o u l d
r e c o m m e n d L i b r e O f f i c e , b u t m o s t
i m p o r t a n t l y - P L E A S E S P E L L A N D
G R A M M A R C H E C K I T !
• I n y o u r a r t i c l e , p l e a s e i n d i c a t e
w h e r e y o u w o u l d l i k e a p a r t i c u l a r
i m a g e t o b e p l a c e d b y i n d i c a t i n g
t h e i m a g e n a m e i n a n e w
p a r a g r a p h o r b y e m b e d d i n g t h e
i m a g e i n t h e O D T ( O p e n O f f i c e )
d o c u m e n t .
• I m a g e s s h o u l d b e J P G , n o w i d e r
t h a n 8 0 0 p i x e l s , a n d u s e l o w
c o m p r e s s i o n .
• D o n o t u s e t a b l e s o r a n y t y p e o f
b o l d o r i t a l i c f o r m a t t i n g .
I f y o u a r e w r i t i n g a r e v i e w ,
p l e a s e f o l l o w t h e s e g u i d e l i n e s :
W h e n y o u a r e r e a d y t o s u b m i t
y o u r a r t i c l e p l e a s e e m a i l i t t o :
a r t i c l e s @ f u l l c i r c l e m a g a z i n e . o r g
T R A N S L A T I O N S
I f y o u w o u l d l i k e t o t r a n s l a t e
F u l l C i r c l e i n t o y o u r n a t i v e
l a n g u a g e p l e a s e s e n d a n e m a i l t o
r o n n i e @ f u l l c i r c l e m a g a z i n e . o r g a n d
w e w i l l e i t h e r p u t y o u i n t o u c h w i t h
a n e x i s t i n g t e a m , o r g i v e y o u a c c e s s
t o t h e r a w t e x t t o t r a n s l a t e f r o m .
W i t h a c o m p l e t e d P D F , y o u w i l l b e
a b l e t o u p l o a d y o u r f i l e t o t h e m a i n
F u l l C i r c l e s i t e .
R E V I E W S
G A M E S / A P P L I C A T I O N S
W h e n r e v i e w i n g g a m e s / a p p l i c a t i o n s p l e a s e s t a t e c l e a r l y :
• t i t l e o f t h e g a m e
• w h o m a k e s t h e g a m e
• i s i t f r e e , o r a p a i d d o w n l o a d ?
• w h e r e t o g e t i t f r o m ( g i v e d o w n l o a d / h o m e p a g e U R L )
• i s i t L i n u x n a t i v e , o r d i d y o u u s e W i n e ?
• y o u r m a r k s o u t o f f i v e
• a s u m m a r y w i t h p o s i t i v e a n d n e g a t i v e p o i n t s
H A R D W A R E
W h e n r e v i e w i n g h a r d w a r e p l e a s e s t a t e c l e a r l y :
• m a k e a n d m o d e l o f t h e h a r d w a r e
• w h a t c a t e g o r y w o u l d y o u p u t t h i s h a r d w a r e i n t o ?
• a n y g l i t c h e s t h a t y o u m a y h a v e h a d w h i l e u s i n g t h e h a r d w a r e ?
• e a s y t o g e t t h e h a r d w a r e w o r k i n g i n L i n u x ?
• d i d y o u h a v e t o u s e W i n d o w s d r i v e r s ?
• m a r k s o u t o f f i v e
• a s u m m a r y w i t h p o s i t i v e a n d n e g a t i v e p o i n t s
Y o u d o n ' t n e e d t o b e a n e x p e r t t o w r i t e a n
a r t i c l e - w r i t e a b o u t t h e g a m e s , a p p l i c a t i o n s
a n d h a r d w a r e t h a t y o u u s e e v e r y d a y .
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 32/56
f u l l c i r c l e m a g a z i n e # 8 9
3 2
c o n t e n t s ^
h t t p s : / / s p i d e r o a k . c o m
G e t 2 5 % o f f a n y S p i d e r O a k p a c k a g e
w i t h t h e c o d e : F u l l c i r c l e m a g F a n s
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 33/56
L I N U X L A B
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 34/56
f u l l c i r c l e m a g a z i n e # 8 9
3 4
c o n t e n t s ^
f o r o u r t e l e v i s i o n . X B M C d i s p l a y e d
j u s t f i n e a t 1 9 2 0 x 1 0 8 0 ( o v e r t h e
H D M I c a b l e , t h e V G A c a b l e w e
o r i g i n a l l y u s e d l i m i t e d u s t o
1 3 6 6 x 7 6 8 ) b u t i f y o u q u i t X B M C
a n d r a n t h e u n d e r l y i n g O p e n b o x
y o u c o u l d b a r e l y r e a d a n y t h i n g o n
t h e s c r e e n .
S e v e r a l s o f t w a r e u p g r a d e s l a t e r
w e m a n a g e d t o g e t X B M C t o
v e r s i o n 1 3 ( G o t h a m ) b u t b e c a u s e
w e u s e d X B M C b u n t u w e w e r e
s t u c k w i t h U b u n t u 1 2 . 1 0 . W i t h
U b u n t u 1 2 . 1 0 s o r e l y o u t o f d a t e
a n d X B M C h e a d i n g t o w a r d s r e l e a s e
1 4 a n d i t ’ s n e w n a m e , K o d i , w e
d e c i d e d i t w a s t i m e t o u p g r a d e a n d
c h a n g e a g a i n .
T h e a r g u m e n t f o r t h e K o d i
n a m e w a s p a r t l y r o o t e d i n t h e f a c t
t h a t X B M C d o e s n ’ t r u n o n a n y
X B o x o t h e r t h a n t h e o r i g i n a l
m a c h i n e ( a n d b a r e l y a t t h a t ) . W h i l e
w e ’ r e n o t a w a r e o f M i c r o s o f t
e x e r c i s i n g a n y t r a d e m a r k
i n f r i n g e m e n t a c t i o n s a g a i n s t t h e
X B M C t e a m , t h e p o s s i b i l i t y w a s
a l w a y s t h e r e . O v e r t h e y e a r s X B M C
h a s b e c o m e m u c h m o r e t h a n j u s t a
m e d i a c e n t r e , i t s t r e a m s , i t c a n
g a m e , a n d c a n b e a P V R f r o n t e n d .
T h e K o d i n a m e c h a n g e i s p a r t o f a
l a r g e r m o v e t o w a r d s c h a n g i n g t h e
X B M C i m a g e f r o m j u s t a m e d i a
c e n t r e t o a n e n t e r t a i n m e n t c e n t r e .
A l l t h i s n e w n e s s l e a d u s t o
r e a l i z e o u r X B M C m a c h i n e i s a b i t
o f a d i n o s a u r – o u t d a t e d s o f t w a r e ,
a n d h a r d w a r e w e ’ d b e e n u s i n g f o r
q u i t e a l o n g t i m e . I d e a l l y w e w o u l d
h a v e u s e d s o m e t h i n g l i k e t h i s :
h t t p : / / c a . p c p a r t p i c k e r . c o m / p / 8 K F m
2 3
F o r o u r i d e a l b u i l d w e w e n t I n t e l
o v e r A M D b e c a u s e o u r e x p e r i e n c e
w i t h N V i d i a f o r v i d e o d r i v e r s i s
g e n e r a l l y b e t t e r t h a n A M D , b u t i t ’ s
w o r t h n o t i n g h e r e t h a t l a s t y e a r w e
b u i l t a n A M D A P U - b a s e d s y s t e m
t h a t h a s w o r k e d w o n d e r f u l l y a s a
d e s k t o p s y s t e m u s i n g K u b u n t u a n d
X u b u n t u . T h a t s y s t e m h a d t h e
f o l l o w i n g p a r t s ( p l u s a 2 5 0 G B h a r d
d r i v e a n d a B l u e r a y p l a y e r w e
a l r e a d y h a d ) :
h t t p : / / c a . p c p a r t p i c k e r . c o m / p / b G v D
n Q
T h e P C P a r t P i c k e r w e b s i t e i s a
h a n d y w a y t o p i e c e t o g e t h e r a
s y s t e m f o r d o - i t - y o u r s e l f e r s a n d
h a s a U S a n d U K v e r s i o n , j u s t a d d u s
o r u k i n f r o n t o f t h e u r l
( u k . p c p a r t p i c k e r . c o m f o r e x a m p l e ) .
O u r b u d g e t w a s a l o t l e s s t h a n
$ 9 0 0 ( t h e I n t e l s y s t e m ) , a n d w e
c o u l d g e t s o m e u s e d u p g r a d e s w e
c o u l d t r u s t f o r a l o t l e s s . S o w e
s t a r t e d b y u p g r a d i n g p a r t s a n d
i n c l u d i n g o n e o f t h e p a r t s i n o u r
l i s t , t h e 3 T B h a r d d r i v e .
T h e f i r s t c h a n g e : O u r a g i n g
P e n t i u m D p r o c e s s o r . C h a n g i n g
m o t h e r b o a r d s w o u l d h a v e m e a n t
i n v e s t i n g i n a n e w m o t h e r b o a r d ,
C P U a n d D D R 3 R A M . W h a t w e h a d
w i t h o u r S o c k e t 7 7 5 - b a s e d
m o t h e r b o a r d w a s w o r k i n g w e l l f o r
u s . W e j u s t w a n t e d t o s q u e e z e a b i t
m o r e p o w e r o u t o f t h e s y s t e m , s o
w e p i c k e d u p a n I n t e l C o r e 2 Q u a d
Q 8 3 0 0 @ 2 . 5 0 G H z ( 4 C o r e s )
p r o c e s s o r . O u r o r i g i n a l P e n t i u m D
c l o c k e d i n a b i t q u i c k e r a t 3 G H z ,
b u t a f t e r c h a n g i n g t o t h e 4 c o r e
Q 8 3 0 0 w e n o t i c e d t h e m o v i e s
s c r o l l e d b y b e t t e r o n t h e s e l e c t i o n
s c r e e n . I t w a s a n o t i c e a b l e
d i f f e r e n c e .
N e x t w e f o c u s e d o n o u r 2 T B
d a t a h a r d d r i v e . T h e d r i v e w a s
m o r e t h a n h a l f f u l l a n d w e ’ d
r e c e n t l y m o v e d a b u n c h o f d a t a o n
t o t h e 3 2 0 G B o p e r a t i n g s y s t e m
d r i v e t o f r e e u p m o r e s p a c e , s o w e
p i c k e d u p a n i n e x p e n s i v e 3 T B
S e a g a t e d r i v e .
L I N U X L A B
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 35/56
f u l l c i r c l e m a g a z i n e # 8 9
3 5
c o n t e n t s ^
B o t h t h e o p e r a t i n g s y s t e m d r i v e
a n d t h e 2 T B h a r d d r i v e a r e S e a g a t e
d r i v e s . A n d w h i l e o u r f i r s t S e a g a t e
1 T B s t a r t e d s h o w i n g s m a r t e r r o r s
a f t e r a b o u t 1 y e a r t h e 2 T B a n d
3 2 0 G B d r i v e s h a v e r u n w e l l f o r a
c o u p l e o f y e a r s .
T h e n e w d r i v e p o s e d a b i t o f a
p r o b l e m b e c a u s e w e ’ r e u s i n g o l d e r
h a r d w a r e t h a t d o e s n ’ t n a t i v e l y
s u p p o r t G P T i n t h e B I O S . L i n u x
d o e s s u p p o r t G P T , b u t i t t o o k s o m e
p o k i n g a r o u n d t o f i g u r e o u t h o w t o
p a r t i t i o n a n d m o u n t t h e d r i v e .
I n i t i a l l y w e t r i e d s e t t i n g u p t h e
d r i v e u s i n g : c f d i s k / d e v / s d c . C f d i s k
s e e m e d t o s e e a l l 3 T B a n d w h e n
w e f o r m a t e d t h e d r i v e i t a p p e a r e d
l i k e i t w a s g o i n g t o g e t d e t e c t e d a s
3 T B , b u t w h e n w e r e b o o t e d w e
n o t i c e d i t s h o w e d u p a s 7 6 8 G B , a
f r a c t i o n o f t h e s i z e . W e k e p t
l o o k i n g a n d f o u n d a s o l u t i o n o n
B u i l d c u b e :
h t t p : / / w w w . b u i l d c u b e . c o m / t e c h _ b l
o g / 2 0 1 2 / 0 7 / 2 5 / i n s t a l l i n g - m y - 3 t b -
h a r d - d r i v e - o n - d e b i a n - l i n u x - s t e p - b y -
s t e p /
I n i t i a l l y w e w e r e a b i t c r a z y a n d
f o r m a t t e d o u r d r i v e u s i n g N T F S .
T h e 2 T B h a r d d r i v e w a s a l r e a d y
N T F S s o w e t h o u g h t w e ’ d d o t h e
s a m e f o r t h e 3 T B , b u t l a t e r w e
d e c i d e d a g a i n s t i t a n d w e n t e x t 4 .
I t ’ s w o r t h n o t i n g t h a t w e f o u n d
e x t 4 t o o k u p l e s s s p a c e – 7 7 M B
v e r s u s t h e 1 6 0 M B N T F S u s e d .
W e ’ r e i n c l u d i n g b o t h m e t h o d s
h e r e .
sudo apt-get install parted
sudo parted /dev/sdc
T h e p r e v i o u s c o m m a n d p u t s u s
i n p a r t e d . P a r t e d i s a b i t l i k e t h e e x
e d i t o r , i t w a i t s f o r u s t o g i v e i t
c o m m a n d s . W e ’ l l g i v e i t t h e
c o m m a n d t o m a k e a G P T l a b e l
i n s t e a d o f a n M B R l a b e l ( 2 T B m a x ) .
mklabel gpt
A n s w e r y e s t o t h e w a r n i n g t h a t
d a t a w i l l b e d e s t r o y e d ( a s s u m i n g
y o u r d r i v e w a s / d e v / s d c - - o u r s
a c t u a l l y w a s ) , d o n ’ t a c c i d e n t a l l y
d e l e t e a d r i v e / d a t a y o u n e e d .
mkpart primary ntfs 0% 100%
quit
T h i s s e t s u p t h e d r i v e a s g p t a n d
g e t s i t s e t f o r f o r m a t t i n g , n o w w e
j u s t n e e d t o f o r m a t t h e d r i v e :
sudo mkfs.ntfs -Q /dev/sdc1
T h e - Q i n t h e N T F S v e r s i o n d o e s
a q u i c k f o r m a t . I f y o u d o n ’ t u s e t h e
- Q s w i t c h a n d g o N T F S , e x p e c t t o
w a i t a l o n g t i m e .
A t t h i s p o i n t w e s t o p p e d b e i n g
s i l l y a n d r e p e a t e d t h e p r o c e s s w i t h
t h e f o l l o w i n g m o d i f i c a t i o n s t o
m a k e t h e d r i v e a w r i t a b l e e x t 4
d r i v e :
sudo parted /dev/sdc
mklabel gpt
mkpart primary ext4 0% 100%
quit
sudo mkfs.ext4 /dev/sdc1
O n e o f t h e p r o b l e m s w e r a n
i n t o w h e n w e m o u n t e d o u r n e w
e x t 4 d r i v e w a s t h a t w e c o u l d n ’ t g e t
i t w r i t a b l e b y t h e x b m c u s e r
a c c o u n t . P e r m i s s i o n s a r e a l w a y s
f u n . T o f i x t h e p r o b l e m , w e c r e a t e d
a d i r e c t o r y u n d e r / m n t c a l l e d
/ m n t / m o v i e s a n d c h a n g e d t h e
o w n e r t o t h e x b m c u s e r :
sudo chown -R xbmc.xbmc/mnt/movies
T h e p e r i o d b e t w e e n t h e x b m c ’ s
d i f f e r e n t i a t e s u s e r a n d g r o u p . I f
y o u w a n t e d a d i f f e r e n t g r o u p y o u
w o u l d u s e s o m e t h i n g l i k e :
sudo chown -R xbmc.multimedia/mnt/movies.
N o w w e n e e d e d t o g e t o u r n e w
h a r d d r i v e i n t o / e t c / f s t a b s o i t
w o u l d b e m o u n t e d a u t o m a t i c a l l y .
S e v e r a l y e a r s a g o t h e m o u n t i n g
m e t h o d i n / e t c / f s t a b s w i t c h e d t o
U U I D ’ s m a k i n g i t a b i t m o r e
c o m p l e x ; l u c k i l y w e h a v e b l k i d t o
t e l l u s t h e U U I D o f e a c h d r i v e . W e
s i m p l e r a n :
sudo blkid
O u r r e s u l t s l o o k e d l i k e t h i s :
/dev/sda1: UUID="9ce53713-9bcd-4df4-a160-e93826eefb2f"TYPE="ext4"
/dev/sda5: UUID="db9cf246-
0e50-4a95-bec0-6ad63e91e20d"TYPE="swap"
/dev/sdb1: LABEL="data"UUID="4D07684A289AEA37"TYPE="ntfs"
/dev/sdc1: UUID="a6732b72-ef69-4129-88e6-ed328d8c8786"TYPE="ext4"
T h e l i n e w e a d d e d t o / e t c / f s t a b
w a s :
UUID=a6732b72-ef69-4129-88e6-ed328d8c8786 /mnt/moviesext4 defaults,noatime0 1
I f w e w e r e d o i n g N T F S , i t w o u l d
h a v e b e e n s o m e t h i n g l i k e ( n o t e t h e
U U I D c h a n g e s w h e n f o r m a t t e d
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 36/56
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 37/56
L I N U X L A B
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 38/56
f u l l c i r c l e m a g a z i n e # 8 9
3 8
c o n t e n t s ^
o l d e r s t a b l e v e r s i o n s o f t h e k e r n e l
s o u r c e a r e a l s o a v a i l a b l e a t
k e r n e l . o r g ; a t t h e t i m e o f w r i t i n g
g o i n g b a c k d o w n t o 2 . 6 . 3 2 . I t
s h o u l d b e n o t e d t h a t t h e s e e a r l i e r
v e r s i o n s h a v e b e e n u p d a t e d w i t h
b u g c o r r e c t i o n s a n d s e c u r i t y
u p d a t e s s i n c e t h e y c a m e o u t ; w h a t
i s m i s s i n g f r o m e a r l i e r v e r s i o n s i s
m e r e l y t h e n e w f e a t u r e s t h a t h a v e
c o m e o u t i n n e w e r v e r s i o n s .
T h e s e o l d e r v e r s i o n s m a y c o m e
i n h a n d y , e i t h e r t o r e p l i c a t e t h e
b e h a v i o r o f a s y s t e m w i t h a n
e a r l i e r c o n f i g u r a t i o n , o r b e c a u s e a
c e r t a i n a p p l i c a t i o n n e e d s a k e r n e l
f r o m a n e a r l i e r s e r i e s . F o r e x a m p l e ,
a n o l d h a r d w a r e d r i v e r m o d u l e
a v a i l a b l e i n s o u r c e c o d e m a y n e e d
a k e r n e l s o u r c e f r o m t h e 2 . 0 s e r i e s
i n o r d e r t o c o m p i l e c o r r e c t l y . T h e s e
a r e p r o b a b l y f r i n g e c a s e s , h o w e v e r ,
a n d w i l l r a r e l y b e s e e n b y m o s t
u s e r s .
O n c e d o w n l o a d e d , t h e
c o m p r e s s e d s o u r c e f i l e m u s t b e
d e c o m p r e s s e d a n d u n - t a r r e d a s
w i t h U b u n t u ' s p a c k a g e d v e r s i o n . I n
t h i s c a s e , t h e t a r f i l e i s c o m p r e s s e d
u s i n g X Z c o m p r e s s i o n , a v e r s i o n o f
t h e p o p u l a r 7 - z i p e n c o d i n g f r o m
t h e W i n d o w s w o r l d . W e w i l l n o t
n e e d t o i n s t a l l a n y f u r t h e r u t i l i t y
p r o g r a m s , t a r i t s e l f c a n
d e c o m p r e s s t h i s f o r m a t . W e c a n c d
t o w h e r e v e r w e d o w n l o a d e d t h e
c o m p r e s s e d f i l e , t r a n s f e r i t t o t h e
/ u s r / s r c d i r e c t o r y a n d u n c o m p r e s s
i t :
# cp/home/alan/Downloads/linux-3.15.4.tar.xz /usr/src
# cd /usr/src
# tar xf linux-3.15.4.tar.xz
T h i s p r o d u c e s t h e l i n u x - 3 . 1 5 . 4
s u b d i r e c t o r y , w i t h t h e s o u r c e f i l e s
i n s i d e .
D I F F E R E N C E S
B E T W E E N S O U R C E S
S o f a r , w e h a v e o b t a i n e d n o t
o n e b u t t w o d i f f e r e n t k e r n e l
s o u r c e t r e e s . T h e f i r s t , f r o m t h e
U b u n t u r e p o s i t o r i e s , c o n t a i n s t h e
s t r u c t u r e s h o w n b e l o w ( t o p ) .
T h e s e c o n d s o u r c e t r e e , d i r e c t l y
f r o m t h e k e r n e l . o r g p r o j e c t
w e b s i t e , i s b e l o w ( b o t t o m ) .
S o t h e y a r e b a s i c a l l y t h e s a m e
t r e e s t r u c t u r e , w i t h a s i n g l e
d i f f e r e n c e : t h e “ u b u n t u ”
s u b d i r e c t o r y . T h i s i s n o t a s u r p r i s e ,
s i n c e t h e U b u n t u p a c k a g e i s
s u p p o s e d t o c o m e o r i g i n a l l y f r o m
k e r n e l . o r g , t h o u g h s o m e r e -
p a c k a g i n g m a y h a v e t a k e n p l a c e .
W e c a n c o n f i r m t h i s b y l o o k i n g a t
h o w m u c h s p a c e i s o c c u p i e d b y
e a c h v e r s i o n :
# du -sh *
626M linux-3.15.4
634M linux-source-3.13.0
U b u n t u ' s v e r s i o n i s s l i g h t l y
l a r g e r – e v e n t h o u g h i t c o n t a i n s a n
e a r l i e r k e r n e l v e r s i o n . T h i s
c o n f i r m s t h a t U b u n t u h a s i n f a c t
a l t e r e d t h e k e r n e l i n s o m e w a y .
T h e d i f f e r e n c e s a r e w h a t U b u n t u
c a l l s t h e “ U b u n t u p a t c h e s ” t o t h e
k e r n e l . T h e i n t e r e s t e d r e a d e r w i l l
f i n d m o r e i n f o r m a t i o n o n U b u n t u ' s
K e r n e l T e a m a n d w h a t t h e y d o o n
t h e i r w i k i p a g e :
h t t p s : / / w i k i . u b u n t u . c o m / K e r n e l
E X P L O R I N G T H E
S O U R C E D I R E C T O R Y
S T R U C T U R E
W h e n w e t a k e a l o o k a t t h e
s o u r c e c o d e d i r e c t o r y t r e e , t h e f i r s t
# cd /usr/src# ls linuxarch Documentation include kernel net security virt block drivers init lib README sound COPYING dropped.txt ipc MAINTAINERS REPORTING-BUGS toolsCREDITS firmware Kbuild Makefile samples ubuntu
crypto fs Kconfig mm scripts usr
# ls linux-3.15.4arch Documentation init lib README sound block drivers ipc MAINTAINERS REPORTING-BUGS toolsCOPYING firmware Kbuild Makefile samples usrCREDITS fs Kconfig mm scripts virtcrypto include kernel net security
L I N U X L A B
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 39/56
f u l l c i r c l e m a g a z i n e # 8 9
3 9
c o n t e n t s ^
t h i n g w e s e e a r e s e v e r a l t e x t f i l e s
i m m e d i a t e l y a t t h e t r e e r o o t . A s
a l w a y s , R E A D M E i s a g r e a t p l a c e t o
s t a r t . T h i s f i l e c o n t a i n s s o m e q u i c k
i n s t r u c t i o n s t o g e t y o u u p a n d
r u n n i n g . H o w e v e r , s o m e p a r t s a r e
s l i g h t l y o u t d a t e d , f o r e x a m p l e
r e f e r r i n g t o t h e L I L O b o o t m a n a g e r
t h a t i s l i t t l e u s e d n o w a d a y s , a n d
n o t a t a l l o n U b u n t u d i s t r i b u t i o n s .
T h e C R E D I T S a n d M A I N T A I N E R S
f i l e s c o n t a i n a l i s t o f p e o p l e w h o
h a v e c o n t r i b u t e d t o t h e k e r n e l
c o d e a n d s o m e o f t h e p a r t s t h e y
h a v e b e e n r e s p o n s i b l e f o r . T h e
p e r u s a l o f t h e s e t w o f i l e s c a n g i v e
u s a p e r s p e c t i v e o f h o w t h e k e r n e l
i s i n f a c t t h e p r o d u c t o f a t e a m o f
p r o g r a m m e r s w o r k i n g t o g e t h e r .
L i n u s T o r v a l d s a n d G r e g K r o a h -
H a r t m a n a r e p e r h a p s t h e b e s t -
k n o w n p a r t i c i p a n t s a n d p r o j e c t
l e a d e r s , b u t t h e y a r e b y n o m e a n s
a l o n e .
T h e D o c u m e n t a t i o n d i r e c t o r y i s
a l a r g e a n d n o t v e r y w e l l
s t r u c t u r e d c o l l e c t i o n o f m a i n l y
( v e r y ) t e c h n i c a l n o t e s . M o s t o f t h e
m a t e r i a l h e r e r e l a t e s t o s p e c i f i c
h a r d w a r e a n d p r o c e d u r e s s e t u p i n
t h e k e r n e l , a n d u n f o r t u n a t e l y w i l l
b e o f l i t t l e h e l p t o t h e b e g i n n e r .
T h e o t h e r d i r e c t o r i e s a r e t h e
k e r n e l s o u r c e c o d e . T h e v e r y b a s i c
s t u f f , m o s t l y r e l a t e d t o p r o c e s s
s c h e d u l i n g a n d c o n t r o l , i s i n a
d i r e c t o r y n a m e d k e r n e l . O t h e r
i m p o r t a n t p a r t s a r e b r o k e n o u t
i n t o d i f f e r e n t d i r e c t o r i e s : f s ( f i l e
s y s t e m s ) , i p c ( i n t e r - p r o c e s s
c o m m u n i c a t i o n ) , m m ( m e m o r y
m a n a g e m e n t ) , n e t ( n e t w o r k i n g ) ,
s o u n d ( s o u n d d r i v e r s ) , e t c .
S e v e r a l d i r e c t o r i e s h a n d l e
s p e c i f i c h a r d w a r e n e e d s . I n t h e
f i r s t p l a c e , t h e a r c h d i r e c t o r y w a s
c r e a t e d t o c o n t a i n l o w - l e v e l c o d e
t o h a n d l e e a c h t y p e o f a r c h i t e c t u r e
s u p p o r t e d b y t h e k e r n e l . T h i s i s t h e
o n l y p l a c e w h e r e y o u s h o u l d f i n d
a s s e m b l y c o d e i n s t e a d o f t h e C
l a n g u a g e . H a v i n g t h e v e r y l a r g e
m a j o r i t y o f t h e c o d e i n C h e l p s t h e
k e r n e l b e a d a p t e d t o d i f f e r e n t
h a r d w a r e p l a t f o r m s w h e n n e e d e d :
m o s t C c o d e w i l l n o t n e e d t o b e r e -
w r i t t e n , b u t s i m p l y c o m p i l e d f o r
t h e n e w p h y s i c a l a r c h i t e c t u r e . O n
t h e o t h e r h a n d , e a c h s p e c i f i c
p l a t f o r m m a y n e e d s o m e v e r y l o w -
l e v e l c o d i n g j u s t t o t a k e c a r e o f
i n i t i a l k e r n e l b o o t i n g . I f y o u t a k e a
l o o k i n t h i s d i r e c t o r y , y o u w i l l
a p p r e c i a t e t h e d i v e r s i t y o f
h a r d w a r e p l a t f o r m s s u p p o r t e d b y
t h e L i n u x k e r n e l . Y o u w i l l f i n d n o t
j u s t t h e I n t e l 3 2 - b i t A r c h i t e c t u r e
I A 3 2 u n d e r x 8 6 a n d A M D 6 4 - b i t
a r c h i t e c t u r e u n d e r i a 6 4 , b u t a l s o
w e l l - k n o w n n a m e s s u c h a s a l p h a
( t h e D E C A l p h a p r o c e s s o r ) ,
p o w e r p c ( t h e I n t e l - A p p l e - M o t o r o l a
P o w e r P C ) , s p a r c ( S u n ' s S P A R C ) , a n d
m o r e m o d e r n a r c h i t e c t u r e s s u c h a s
a r m ( t h e 3 2 - b i t A R M f a m i l y u s e d i n
t a b l e t s a n d p h o n e s ) a n d e v e n
a r m 6 4 ( t h e n e w e r 6 4 - b i t v e r s i o n o f
t h e A R M ) .
A n o t h e r i m p o r t a n t d i r e c t o r y i s
d r i v e r s . T o g e t h e r w i t h t h e s o u n d
d i r e c t o r y ( c o n t a i n i n g s p e c i f i c
d r i v e r s f o r s o u n d p r o c e s s i n g
h a r d w a r e ) a n d s e v e r a l o t h e r m i n o r
d i r e c t o r i e s , h e r e i s w h e r e y o u
w o u l d s e e t h e d r i v e r s f o r e a c h t y p e
o f h a r d w a r e t h e k e r n e l s u p p o r t s .
B a s i c a l l y , i f t h e r e i s c o d e i n t h i s
d i r e c t o r y t h a t k n o w s h o w t o
h a n d l e y o u r p i e c e o f h a r d w a r e , i t
m a y w o r k i n a G N U / L i n u x s y s t e m .
O t h e r w i s e , t h i n g s m a y g e t r e a l l y
c o m p l i c a t e d t o g e t i t t o f u n c t i o n .
P l e a s e b e a r i n m i n d t h a t e a c h
p i e c e o f d r i v e r c o d e i n t h i s
d i r e c t o r y d o e s n o t a d d r e s s a n y
p a r t i c u l a r b r a n d o r m a k e o f
h a r d w a r e , b u t r a t h e r t h e c o n t r o l l e r
c h i p s u s e d i n t h a t d e v i c e . F o r
e x a m p l e , i n d i r e c t o r y
d r i v e r s / n e t / e t h e r n e t / r e a l t e k w e
c a n f i n d a f i l e c a l l e d 8 1 3 9 c p . c . T h i s
d e v i c e d r i v e r h a n d l e s a n y E t h e r n e t
n e t w o r k c a r d u s i n g t h e R e a l T e k
R T L - 8 1 3 9 C + s e r i e s c o n t r o l l e r ,
w h i c h a t t h e t i m e w a s u s e d b y
m a n y d i f f e r e n t c a r d
m a n u f a c t u r e r s , a n d s o l d u n d e r
p r o b a b l y m o r e t h a n 1 0 0 d i f f e r e n t
b r a n d n a m e s . S o m e v e r s i o n s w e r e
u s e d i n e x c h a n g e a b l e P C I - i n t e r f a c e
c a r d s , w h i l e o t h e r s w e r e s o l d e r e d
d i r e c t l y i n t o c o m p u t e r ' s
m o t h e r b o a r d s . B u t a l l c a n u s e t h e
s a m e d r i v e r c o d e d e v e l o p e d
i n i t i a l l y ( a s w a s m u c h o f t h e
n e t w o r k i n t e r f a c e c o d e ) b y D o n a l d
B e c k e r , a s i s m e n t i o n e d i n t h e C
f i l e ' s i n i t i a l c o m m e n t a r y s e c t i o n .
T h e f i r m w a r e d i r e c t o r y i s t h e
o t h e r p l a c e w h e r e w e w i l l f i n d b i t s
o f c o d e t h a t a r e n o t w r i t t e n i n t h e
C p r o g r a m m i n g l a n g u a g e . A
m o d e r n c o m p u t e r c a n i n s o m e
w a y s b e s e e n a s a m u l t i c o m p u t e r
L I N U X L A B
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 40/56
f u l l c i r c l e m a g a z i n e # 8 9 4 0
c o n t e n t s ^
n e t w o r k : t h e m a i n c o m p u t e r h a n d s
o f f s o m e o f t h e w o r k t o d a u g h t e r
s y s t e m s : t h e s o u n d p r o c e s s i n g
s y s t e m , t h e g r a p h i c s c a r d , t h e
n e t w o r k c a r d , a h a r d d r i v e , a
p r i n t e r , e t c , a r e a l l f o r m e d b y s m a l l
c o m p u t i n g e n v i r o n m e n t s , e a c h
c o n t r o l l e d b y a m i c r o - c o n t r o l l e r
a c t i n g a s a s m a l l C P U i n i t s o w n
r i g h t . F i r m w a r e i s a c o n c e p t t h a t
c o m e s f r o m t h e i n t r o d u c t i o n o f
n o n - v o l a t i l e m e m o r y i n b o t h i n
d o m e s t i c e l e c t r o n i c a p p a r a t u s a n d
i n i n t e r n a l c o m p u t e r c o m p o n e n t s .
T h e s e d a u g h t e r s y s t e m s n o w h a v e
t h e c a p a b i l i t y o f r u n n i n g n o t o n l y
p r o g r a m s t h a t w e r e w r i t t e n o n c e
a n d f o r a l l i n R O M c h i p s , “ e n g r a v e d
i n s t o n e ” s o t o s p e a k , b u t c a n a l s o
l o a d p r o g r a m s o n t h e f l y i n t o
v a r i o u s f o r m s o f r e - w r i t a b l e
m e m o r y ( E E - P R O M o r “ F l a s h ”
m e m o r y ) . T h i s m e m o r y o n t h e
d a u g h t e r b o a r d c o n t a i n s p r o g r a m s
i n b i n a r y f o r m , d e s t i n e d n o t f o r t h e
c o m p u t e r ' s C P U b u t f o r t h e m i c r o -
c o n t r o l l e r o f e a c h a p p a r a t u s o r
c o m p o n e n t .
T o i n i t i a l i z e a n d u s e s o m e o f
t h e s e d e v i c e s , w e w i l l n e e d n o t
o n l y a d e v i c e d r i v e r - w h i c h i s a
p r o g r a m r u n b y o u r c o m p u t e r ' s
C P U a n d r e s i d e n t i n i t s o w n
m e m o r y - b u t a l s o a p i e c e o f
f i r m w a r e - k n o w n a s a “ b i n a r y b l o b ”
- t h a t m u s t b e l o a d e d i n t o t h e
d e v i c e ' s m e m o r y o n i n i t i a l i z a t i o n .
T h e s e a r e n o t c o n s i d e r e d a s p a r t o f
t h e k e r n e l i t s e l f .
T h e r e h a s b e e n s o m e d i s p u t e
a b o u t t h e n a t u r e o f t h e f i r m w a r e
i n c l u d e d w i t h t h e L i n u x k e r n e l .
S o m e d i s t r i b u t i o n s , s u c h a s U b u n t u
i t s e l f , h a v e l i t t l e q u a l m s a b o u t
i n c l u d i n g f i r m w a r e t h a t i s n o t
o p e n - s o u r c e o r r e l e a s e d u n d e r t h e
G P L l i c e n s e . T h e i r t a k e i s t h a t t h e
e n d - u s e r w i s h e s s i m p l y t o h a v e
t h i n g s w o r k ; s i n c e t h e y h a v e
a c q u i r e d t h e h a r d w a r e , t h e y m u s t
a l s o h a v e a c c e s s t o t h e s o f t w a r e
n e c e s s a r y t o m a k e i t f u n c t i o n . B u t
t h e r e i s a l s o t h e c o n t r a r y
s t a n d p o i n t , p r o p o s e d n o t a b l y b y
R i c h a r d S t a l l m a n a n d a d o p t e d b y
d i s t r i b u t i o n s s u c h a s g N e w S e n s e ,
t h a t a r g u e s t h a t p r o p r i e t a r y a n d
n o n - o p e n b i n a r y b l o b s m a y w o r k ,
o r n o t . T h e y m a y w o r k p a r t i c u l a r l y
w e l l i n s o m e c a s e s , a n d f a i l
m i s e r a b l y i n o t h e r s – a n d f o r
r e a s o n s u n k n o w n . S i n c e n o b o d y
e x c e p t t h e m a n u f a c t u r e r h a s
a c c e s s t o t h e s o u r c e c o d e , t h e r e i s
n o w a y o f a s s e s s i n g t h e f i r m w a r e
c o d e , m a k i n g i t b e t t e r , o r a d a p t i n g
i t t o n e w n e e d s . I t i s f o r t h i s r e a s o n
t h a t t h e k e r n e l . o r g p r o j e c t
m e m b e r s t a k e p a i n s t o t r a c e t h e
o r i g i n s o f b i n a r y b l o b s d i s t r i b u t e d
w i t h t h e k e r n e l , a s m a y b e s e e n i n
f i l e f i r m w a r e / W H E N C E . I t i s a l s o f o r
t h i s r e a s o n t h a t d i s t r i b u t i o n s s u c h
a s U b u n t u o r L i n u x M i n t p e r m i t t h e
i n s t a l l a t i o n o f c e r t a i n n o n o p e n -
s o u r c e d r i v e r s , b u t o n l y a t t h e
u s e r ' s i n i t i a t i v e a n d s p e c i f y i n g
c l e a r l y t h e y c o m e w i t h o u t a n y
s u p p o r t f r o m t h e d i s t r i b u t i o n ' s
t e a m .
W H A T E L S E D O W E
N E E D ?
O n c e w e h a v e t h e k e r n e l s o u r c e
d e c o m p r e s s e d o n o u r d i s k , w e w i l l
n e e d s e v e r a l t h i n g s i n o r d e r t o
c o m p i l e i t . N a t u r a l l y , w e w i l l n e e d
t h e C l a n g u a g e c o m p i l e r , b u t t h a t
w i l l n o t b e a l l .
F o r t h e r e a d e r s w h o m a y n e e d a
q u i c k p r i m e r o n t h e p r o c e s s o f
c o m p i l a t i o n , l e t u s b e g i n b y
d e s c r i b i n g s o m e c o n c e p t s . I n o r d e r
t o c o m p i l e a p r o g r a m w r i t t e n i n a
c o m p i l e d p r o g r a m m i n g l a n g u a g e ,
i n t h e f i r s t p l a c e w e w i l l n e e d t h e
L I N U X L A B
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 41/56
f u l l c i r c l e m a g a z i n e # 8 9 4 1
c o n t e n t s ^
p r o g r a m i t s e l f , o r w h a t i s c a l l e d t h e
s o u r c e c o d e . T h i s i s s i m p l y a t e x t
f i l e t h a t c o n t a i n s t h e p r o g r a m
i n s t r u c t i o n s , t h o u g h t h e e x t e n s i o n
w i l l h a v e b e e n c h a n g e d t o “ . c ” t o
m a r k i t a s a C s o u r c e c o d e f i l e , a n d
n o t a f i l e c o n t a i n i n g m e r e t e x t . W e
w i l l n o w f o l l o w w i t h a s h o r t
e x a m p l e o f a C p r o g r a m , c o n t a i n e d
i n a f i l e n a m e d “ h e l l o . c ” . T h i s i s
p e r h a p s t h e b e s t - k n o w n e x a m p l e
o f C p r o g r a m m i n g , t h a t a l m o s t a l l
p r o g r a m m e r s w i l l h a v e s e e n a t
s o m e p o i n t :
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char*argv[]) {
printf("Hello,world!\n");
}
T h e f i r s t t w o l i n e s i n d i c a t e w e
w i s h t o i n c l u d e s e v e r a l h e a d e r f i l e s .
T h e s e c o n t a i n n o c o d e p r o p e r l y
s p e a k i n g , b u t j u s t t h e d e f i n i t i o n o f
s e v e r a l f u n c t i o n i n t e r f a c e s ( s u c h a s
“ p r i n t f ” ) . I f w e i n c l u d e t h e m , t h e
c o m p i l e r w i l l s u p p o s e t h e s e
f u n c t i o n s a r e a v a i l a b l e w h e n
r e a d i n g i n ( “ p a r s i n g ” ) o u r p r o g r a m
f i l e . T h e p r o g r a m ' s m a i n b o d y - t h e
“ m a i n ” f u n c t i o n - c o n t a i n s j u s t o n e
s i n g l e l i n e , i n s t r u c t i n g t h e s y s t e m
t o p r i n t a c h a r a c t e r s t r i n g o n
s c r e e n .
I n o r d e r t o a c t u a l l y e x e c u t e t h i s
p r o g r a m , w e w i l l n e e d t o t r a n s l a t e
t h e c o m p l e t e p r o g r a m i n t o a n
e x e c u t a b l e o r b i n a r y f i l e . T h i s
p r o c e s s i s w h a t i s k n o w n a s
c o m p i l a t i o n .
R e a d e r s o f G r e g W a l t e r s '
“ P r o g r a m m i n g i n P y t h o n ” s e r i e s i n
t h e s e v e r y s a m e p a g e s w i l l h a v e
n o t e d t h a t n o s u c h t r a n s l a t i o n
p r o c e s s i s n e e d e d f o r t h e P y t h o n
p r o g r a m m i n g l a n g u a g e . T h i s l a t t e r
b e l o n g s t o t h e c l a s s o f
“ i n t e r p r e t e d l a n g u a g e s ” ; t h e
p r o g r a m s p r o d u c e d i n a n
i n t e r p r e t e d l a n g u a g e a r e n o t
e x e c u t e d d i r e c t l y , b u t r a t h e r
i n t e r p r e t e d i n s t r u c t i o n - b y -
i n s t r u c t i o n o n t h e f l y b y a p r o g r a m
c a l l e d - y o u g u e s s e d i t ! - a n
i n t e r p r e t e r . I n t h e c a s e o f c o m p i l e d
l a n g u a g e s s u c h a s C , h o w e v e r , n o
s u c h i n t e r p r e t e r e x i s t s , a n d s o w e
n e e d t o c o n v e r t t h e s o u r c e c o d e
i n t o a n e x e c u t a b l e f i l e b e f o r e
g e t t i n g t o t e s t o u r p r o g r a m a n d
k n o w i n g i f i t a c t u a l l y w o r k s .
B o t h a p p r o a c h e s h a v e b e n e f i t s
a n d d r a w b a c k s . B y u s i n g c o m p i l e d
l a n g u a g e s , w e g e t a n e x e c u t a b l e
f i l e t h a t c a n r u n v e r y f a s t , a n d t h e
e n d u s e r w i l l o n l y n e e d a c c e s s t o
t h i s s i n g l e f i l e . O n t h e o t h e r h a n d ,
i n t e r p r e t e d l a n g u a g e s w i l l g i v e t h e
e n d u s e r a c c e s s t o t h e s o u r c e c o d e ,
w h i c h h e o r s h e c a n m o d i f y a n d
t u n e t o t h e i r n e e d s . B u t t h e y
w o u l d n e e d t o h a v e a n i n t e r p r e t e r
f o r t h a t p a r t i c u l a r l a n g u a g e
i n s t a l l e d o n t h e i r s y s t e m , a n d t h e
e n d r e s u l t e x e c u t e s a t a d m o r e
s l o w l y .
T o c o m p i l e o u r t e s t “ h e l l o . c ”
p r o g r a m , s u p p o s i n g w e h a v e t h e
g c c C l a n g u a g e c o m p i l e r i n s t a l l e d
o n o u r s y s t e m ( i f n o t , w e w i l l n e e d
t o i n s t a l l p a c k a g e “ g c c ” ) , w e c a n
i s s u e :
$ cc hello.c -o hello
T h i s t e l l s t h e C l a n g u a g e
L I N U X L A B
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 42/56
f u l l c i r c l e m a g a z i n e # 8 9 4 2
c o n t e n t s ^
A l a n t e a c h e s c o m p u t e r s c i e n c e a t
E s c o l a A n d o r r a n a d e B a t x i l l e r a t
( h i g h - s c h o o l ) . H e h a s p r e v i o u s l y
g i v e n G N U / L i n u x c o u r s e s a t t h e
U n i v e r s i t y o f A n d o r r a a n d G N U / L i n u x
s y s t e m s a d m i n i s t r a t i o n a t t h e O p e n
U n i v e r s i t y o f C a t a l u n y a ( U O C ) .
c o m p i l e r ( “ c c ” , g e t i t ? ) t o c o m p i l e
s o u r c e c o d e f i l e “ h e l l o . c ” ,
p r o d u c i n g e x e c u t a b l e f i l e “ h e l l o ” .
N o t e t h a t i n t h e U N I X a n d
G N U / L i n u x w o r l d , e x e c u t a b l e f i l e s
n e e d n o t h a v e t h e “ . e x e ”
e x t e n s i o n . O n c e t h e f i l e i s
c o m p i l e d , t h e r e s u l t i n g e x e c u t a b l e
c a n b e e x e c u t e d b y i s s u i n g :
$ ./hello
Hello, world!
N a t u r a l l y , t h i n g s c a n g e t a l i t t l e
m o r e c o m p l e x w h e n a l a r g e
a p p l i c a t i o n p r o j e c t c o n t a i n s s e v e r a l
h u n d r e d C a n d h e a d e r f i l e s . I n t h e
c a s e o f t h e L i n u x k e r n e l , n o t a l l o f
t h e s e a r e a l w a y s t o b e c o m p i l e d –
d e p e n d i n g o n w h i c h t a r g e t
a r c h i t e c t u r e ( I n t e l 3 2 - b i t
A r c h i t e c t u r e , I A 6 4 , … ) w e a r e
c o m p i l i n g f o r . T o s i m p l i f y t h i n g s , a
f i l e c o n t a i n i n g i n s t r u c t i o n s o n w h a t
t o c o m p i l e , i n w h i c h o r d e r , a n d
u s i n g w h i c h c o m p i l a t i o n
p a r a m e t e r s , c a n b e d r a w n u p . T h i s
m a k e f i l e c a n b e s e e n a s a p a t t e r n
o r g u i d e f o r t h e c o m p i l a t i o n
p r o c e s s .
G o i n g b a c k t o o u r s a m p l e
p r o g r a m , w e c o u l d w r i t e t h e f i l e
“ M a k e f i l e ” w i t h t h e f o l l o w i n g
c o n t e n t s :
hello:
cc hello.c -o hello
N o w , e a c h t i m e w e w i s h t o
c o m p i l e t h e f i l e , w e c o u l d u s e t h e
m a k e c o m m a n d t o r u n t h e f i l e
c o n t e n t s f o r u s :
$ make hello
a n d t h e c o r r e s p o n d i n g i n s t r u c t i o n s
f r o m t h e m a k e f i l e w o u l d b e
e x e c u t e d .
A s y o u m i g h t s u s p e c t , b o t h t h e
c o m p i l e r a n d t h e m a k e - b u i l d
e n v i r o n m e n t a r e l a r g e l y u s e d i n
o r d e r t o s i m p l i f y t h e L i n u x k e r n e l
c o m p i l a t i o n p r o c e s s . T h i s i s w h y w e
w i l l n e e d t o h a v e i n s t a l l e d n o t o n l y
t h e C c o m p i l e r i t s e l f , b u t a l s o
s e v e r a l u t i l i t y p r o g r a m s : G N U m a k e
i t s e l f , a b z i p d e c o m p r e s s o r , e t c . .
T h e f o l l o w i n g p a c k a g e s w i l l b e
n e e d e d a t s o m e p o i n t i n t h e
p r o c e s s :
gcc binutils make bzip2coreutils
T h e k e r n e l c o m p i l a t i o n p r o c e s s
m a y b e c o n f i g u r e d t o a c e r t a i n
e x t e n t u s i n g t h e m a k e f i l e s y s t e m .
T o d o s o , s e v e r a l c o n f i g u r a t i o n
s c r i p t s a r e a v a i l a b l e . T h e s i m p l e s t ,
i n v o k e d b y i s s u i n g :
$ make config
i s a s i m p l e t e x t - b a s e d s c r i p t t h a t
n e e d s n o f u r t h e r s o f t w a r e t o w o r k .
H o w e v e r , t h e t w o g r a p h i c a l
c o n f i g u r a t i o n u t i l i t i e s :
$ make xconfig
a n d
$ make gconfig
r e l y r e s p e c t i v e l y o n t h e q t a n d g t k
w i d g e t f r a m e w o r k s d e v e l o p e d
o r i g i n a l l y f o r t h e K D E a n d G n o m e
d e s k t o p m a n a g e r s . I n t h e f i r s t c a s e ,
“ x c o n f i g ” w i l l n e e d t o h a v e t h e
f o l l o w i n g p a c k a g e s i n s t a l l e d :
qt4-default qt4-qmake
I f u s i n g t h e g t k v e r s i o n ,
“ g c o n f i g ” w i l l n e e d p a c k a g e s :
libgtk2.0-dev libglib2.0-devlibglade2-dev
F i n a l l y , m y p r e f e r r e d w a y o f
c o n f i g u r i n g t h e k e r n e l i s u s i n g t h e
c u r s e s - b a s e d
make menuconfig
T h i s t e x t - b a s e d b u t m o r e u s e r -
f r i e n d l y e n v i r o n m e n t w i l l n e e d t h e
f o l l o w i n g p a c k a g e :
ncurses-dev
N o w t h a t w e h a v e a l l t h e b i t s
a n d p i e c e s w e w i l l n e e d , i n t h e n e x t
p a r t o f t h i s s e r i e s w e w i l l g o
t h r o u g h t h e a v a i l a b l e c o m p i l a t i o n
o p t i o n s , a n d a c t u a l l y e n d u p b y
c o m p i l i n g o u r f i r s t k e r n e l .
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 43/56
f u l l c i r c l e m a g a z i n e # 8 9 4 3
c o n t e n t s ^
R R
E E
V V
I I
E E
W W
W r i t t e n b y O s c a r R i v e r a
A A
M M
D D
C C
a a
t t
a a
l l
y y
s s
t t
1 1
4 4
. .
6 6
B B
e e
t t
a a
D D
r r
i i
v v
e e
r r
s s
E
v e r s i n c e I f i r s t b e g a n u s i n g
L i n u x , I ' v e u s e d p r o p r i e t a r y
d r i v e r s o n l y w h e n i t w a s a b s o l u t e l y
n e c e s s a r y . I n f a c t , b a c k t h e n
( d u r i n g t h e r e l e a s e o f U b u n t u
1 0 . 0 4 L T S ) , I n o t i c e d t h a t t h e f r e e
o p e n - s o u r c e d r i v e r s w o r k e d b e t t e r
t h a n t h e p r o p r i e t a r y N v i d i a d r i v e r s
t h a t m y d e s k t o p n e e d e d a t t h e
t i m e . A b o u t a y e a r l a t e r , w h e n I
b u i l t a n e w c o m p u t e r , a l t h o u g h I
n o w h a d a n A M D g r a p h i c s c a r d , I
d e c i d e d t o s t i c k w i t h t h e o p e n -
s o u r c e d r i v e r s i n s t e a d o f A M D ' s
o w n d r i v e r s . F a s t - f o r w a r d a c o u p l e
o f y e a r s a n d a n o t h e r c u s t o m - b u i l t
P C – t o a r r i v e a t t h e p r e s e n t t i m e ,
S e p t e m b e r 2 0 1 4 . A l o t h a s c h a n g e d
i n t h e l a s t y e a r , a n d i t ' s m o s t l y d u e
t o V a l v e ' s S t e a m v i d e o g a m e
e n g i n e b e i n g p o r t e d t o L i n u x . I
r e m e m b e r a b o u t t w o y e a r s a g o
w h e n L i n u s T o r v a l d s h i m s e l f g a v e
N v i d i a a n o t - s o - f r i e n d l y h a n d - s i g n
b e c a u s e o f N v i d i a ' s l a c k o f
c o o p e r a t i o n w i t h t h e L i n u x
c o m m u n i t y .
E v e r s i n c e t h e n , N v i d i a h a s b e e n
m a k i n g t h e e f f o r t t o i m p r o v e t h e i r
r e l a t i o n s h i p w i t h u s L i n u x f o l k s .
N v i d i a ' s m a i n c o m p e t i t o r , A M D ,
d i d n ' t w a i t t o g e t t h e f i n g e r f r o m
L i n u s i n o r d e r t o s p r i n g i n t o a c t i o n .
A M D ' s C a t a l y s t g r a p h i c s d r i v e r s
h a v e l a t e l y b e e n k e e p i n g u p w i t h
t h e i n c r e a s i n g d e m a n d s o f t h e n e w
i n f l u x o f g a m e s t h a t a r e c u r r e n t l y
s a t u r a t i n g t h e L i n u x m a r k e t . A s a
g a m e r , I n e e d t o h a v e t h e l a t e s t
g r a p h i c s d r i v e r s i n s t a l l e d i n m y
s y s t e m . E v e r s i n c e V a l v e ' s S t e a m
v i d e o g a m e e n g i n e s t r o n g l y
s u g g e s t e d t h a t w e u s e t h e l a t e s t
p r o p r i e t a r y g r a p h i c s d r i v e r s f o r a
s m o o t h p l a y i n g e x p e r i e n c e , I ' v e
b e e n u s i n g t h e l a t e s t A M D B e t a
d r i v e r a v a i l a b l e t h r o u g h U b u n t u ' s
A d d i t i o n a l D r i v e r s a p p l i c a t i o n ( i n
L i n u x M i n t t h e a p p l i c a t i o n i s c a l l e d
D r i v e r M a n a g e r ) . H o w e v e r , I ' v e
b e e n a w a r e t h a t t h e l a t e s t B e t a
d r i v e r p r o v i d e d b y A d d i t i o n a l
D r i v e r s i s N O T t h e l a t e s t A M D B e t a
a v a i l a b l e f o r i n s t a l l a t i o n .
F o r t h i s m o n t h ' s V i d e o G a m e
R e v i e w s , I h a v e b e e n p l a y i n g T h e
W i t c h e r 2 : A s s a s s i n o f K i n g s
R E V I E W
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 44/56
f u l l c i r c l e m a g a z i n e # 8 9 4 4
c o n t e n t s ^
E n h a n c e d E d i t i o n , w h i c h h a s
p e r h a p s t h e b e s t g r a p h i c s I ' v e y e t
s e e n i n a L i n u x v i d e o g a m e . I n
o r d e r f o r m e t o p l a y t h e v i d e o
g a m e ‘ T h e W i t c h e r 2 ’ , i t w a s
s u g g e s t e d t h a t I i n s t a l l t h e l a t e s t
A M D B e t a d i r e c t l y f r o m t h e A M D
w e b s i t e . M y d e t e r m i n a t i o n t o p l a y
t h e v i d e o g a m e d r o v e m e t o f i g u r e
o u t h o w t o i n s t a l l i t . I w a s
p l e a s a n t l y s u r p r i s e d t o d i s c o v e r
t h a t t h e i n s t r u c t i o n s o n t h e
w e b s i t e w e r e p r e t t y s i m p l e ,
s t r a i g h t - f o r w a r d , a n d t o t h e p o i n t . I
d o w n l o a d e d t h e d r i v e r f r o m :
h t t p : / / s u p p o r t . a m d . c o m / e n -
u s / k b - a r t i c l e s / P a g e s / L a t e s t -
L I N U X - B e t a - D r i v e r . a s p x
I t h e n f o l l o w e d t h e d i r e c t i o n s
g i v e n o n :
h t t p : / / s u p p o r t . a m d . c o m / e n -
u s / k b - a r t i c l e s / P a g e s / C a t a l y s t -
L i n u x - I n s t a l l e r - N o t e s . a s p x
R a t h e r t h a n t u r n t h i s r e v i e w
i n t o a H o w - T o , I s i m p l y r e c o m m e n d
t h a t y o u p a y a t t e n t i o n t o t h e
i n s t r u c t i o n s p r o v i d e d o n A M D ' s
w e b s i t e , a n d f o l l o w t h e m a s c l o s e
a s p o s s i b l e . N o t o n l y a r e t h e
i n s t r u c t i o n s e a s y t o f o l l o w , b u t t h e
a c t u a l A M D C a t a l y s t B e t a i n s t a l l e r
i s a l s o v e r y u s e r f r i e n d l y , i n t u i t i v e
a n d m a k e s i t a l m o s t a s e a s y t o
i n s t a l l a s i f y o u w e r e u s i n g y o u r
d i s t r o ' s S o f t w a r e C e n t e r . I a m v e r y
i m p r e s s e d w i t h A M D ' s e f f o r t s t o
p r o v i d e u s w i t h t h e l a t e s t d r i v e r s
t h e y h a v e t o o f f e r . A f t e r a q u i c k
r e b o o t , t h e n e w g r a p h i c s d r i v e r
s h o u l d b e w o r k i n g j u s t f i n e . W i t h
t h e t r u e l a t e s t A M D B e t a 1 4 . 6 f r o m
t h e A M D w e b s i t e , I w a s a b l e t o p l a y
T h e W i t c h e r 2 w i t h o u t a n y
p r o b l e m s . T h e p r o c e s s o f i n s t a l l i n g
t h e A M D B e t a C a t a l y s t d r i v e r t o o k
l e s s t h a n 1 5 m i n u t e s a n d
e v e r y t h i n g w o r k s b e t t e r t h a n
b e f o r e .
T h e o n l y C o n I f i n d w i t h u s i n g
t h e A M D C a t a l y s t B e t a 1 4 . 6 i s t h a t
i t ' s a p r o p r i e t a r y d r i v e r . O n t h e
o t h e r h a n d , t h e r e i s a l o n g l i s t o f
P r o ' s . T h e r e i s s o m u c h t o g a i n f r o m
u s i n g t h i s p r o p r i e t a r y d r i v e r : i t ' s
e a s y t o i n s t a l l , y o u r g a m e s w i l l p l a y
m u c h b e t t e r , a n d y o u r d e s k t o p
e f f e c t s w i l l l o o k m o r e i m p r e s s i v e a s
w e l l . I s t r o n g l y r e c o m m e n d i t t o
a n y o n e w h o h a s a n A M D R a d e o n
H D 5 x x x o r n e w e r g r a p h i c s c a r d ,
a n d i s i n t e r e s t e d i n p l a y i n g t h e n e w
f l u r r y o f v i d e o g a m e s t h a t a r e
t r i c k l i n g t h e i r w a y d o w n i n t o o u r
b e l o v e d o p e r a t i n g s y s t e m .
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 45/56
f u l l c i r c l e m a g a z i n e # 8 9 4 5
c o n t e n t s ^
M
M
Y
Y
S
S
T
T
O
O
R
R
Y
Y
W r i t t e n b y K o s t a s K o t o u l a s
T
a k i n g a d v a n t a g e o f y o u r c a l l
f o r p e r s o n a l s t o r i e s , I ' m
s e n d i n g y o u m i n e . I t w a s b a c k i n
D e c e m b e r 1 9 9 7 , w h e n I w a s o n m y
m a n d a t o r y 1 8 - m o n t h t o u r i n t h e
A r m y ( I ' m G r e e k a n d s t i l l t o t h i s d a y
t h e r e i s a m a n d a t o r y t o u r f o r a l l
G r e e k m a l e s , a l t h o u g h i t ' s 9
m o n t h s n o w ) . D u r i n g a t r a i n i n g
b r e a k , I w a s t a l k i n g w i t h a n o t h e r
g u y w h o h a d , p r i o r t o h i s t o u r ,
f i n i s h e d h i s m a s t e r ’ s i n C o m p u t e r
S c i e n c e f r o m a u n i v e r s i t y i n t h e
U S A ( d o n ' t r e c a l l w h i c h ) . W e w e r e
t a l k i n g a b o u t t h e i m p a c t t h e t h e n
n e w W i n d o w s 9 5 h a d o n P C s , a n d I
w a s w h i n i n g b e c a u s e I s t i l l o w n e d a
4 8 6 D X / 3 3 M H z P C w h i c h c o u l d n ' t
r u n W i n d o w s 9 5 .
S o h e s a i d " t r y L i n u x " . " W h a t ' s
t h a t ? " I a s k e d ( i n t r i g u e d b y t h e v e r y
n a m e ) . H e s t a r t e d t o t a l k a b o u t i t ,
m e n t i o n i n g h o w i t i s a U n i x - l i k e O S
( I h a d p r e v i o u s e x p e r i e n c e w i t h
U n i x o n a V A X m a c h i n e b a c k i n m y
u n i v e r s i t y y e a r s ) , v e r y l i g h t , a n d
t h a t m y h u m b l e h a r d w a r e w o u l d
b e p e r f e c t f o r i t .
O n m y n e x t l e a v e , I w e n t t o a
f r i e n d w h o w a s s t i l l i n t h e
u n i v e r s i t y ( b a c k o n t h o s e d a y s o n l y
u n i v e r s i t i e s h a d g o o d i n t e r n e t
a c c e s s i n G r e e c e , d i a l - u p
c o n n e c t i o n s w e r e s t i l l a t 1 4 4 0 0
b p s ) , a n d d o w n l o a d e d a d i s t r o i n
a b o u t 8 o r 9 f l o p p i e s . I t h i n k i t w a s
S l a c k w a r e o r D e b i a n , n o t s u r e . G o t
h o m e , d i d t h e i n s t a l l a t i o n , a n d a
c o u p l e o f h o u r s l a t e r — t h r o u g h a n
a g o n i z i n g 2 n d i n s t a l l b e c a u s e o f
m i s t a k e n c o n f i g u r a t i o n s — I s a w a
l o g i n s c r e e n ! I t t o o k m e a l l t h r e e
d a y s o f m y l e a v e t o r e a d j u s t t h e
e s s e n t i a l t e x t s t o g e t s o m e i d e a
b u t t h a t w a s i t : I w a s h o o k e d f o r
l i f e .
A l t h o u g h b e c a u s e o f w o r k ( I ' m a
c o m p u t e r t e c h n i c i a n ) , I w a s f o r c e d
t o h a v e a W i n d o w s m a c h i n e a t
h o m e , I a l w a y s u s e d a G N U / L i n u x
O S o n m y o l d h a r d w a r e ; a t t h e s t a r t
a n A t h l o n X P 2 0 0 0 , l a t e r a
P 4 / 3 . 0 G H z ; b u t s i n c e I g o t l a i d o f f
( d a m n G r e e k C r i s i s ) t h r e e y e a r s
a g o , I u s e a G N U / L i n u x O S o n m y
m a i n P C t o o . I h a v e u s e d S l a c k w a r e ,
D e b i a n , S u s e , o p e n S u s e , M i n t ,
R e d h a t , F e d o r a , M a n d r a k e , M a g e i a .
a n d , o f c o u r s e , U b u n t u . U s u a l l y I
h a d t w o o r t h r e e d i s t r o s a t a t i m e
o n d i f f e r e n t h d d s f o r c o m p a r i s o n .
A l t h o u g h D e b i a n i s s t i l l m y f a v o r i t e
f l a v o r , I r e a l l y l o v e U b u n t u ' s L T S
v e r s i o n s a n d I t h i n k t h e y a r e t h e
b e s t d i s t r o a b e g i n n e r c a n u s e
b e c a u s e o f t h e f a c t t h a t y o u w i l l
u s e r o u g h l y t h e s a m e v e r s i o n f o r
t w o , m a y b e t h r e e , y e a r s — e n o u g h
t i m e f o r a b e g i n n e r t o b e c o m e a n
a d v a n c e d u s e r . I t h i n k t h a t t h e
f e a t u r e s o f U b u n t u t h a t b e g i n n e r s
r e a l l y l i k e a r e t h e e a s y u p d a t e
p r o c e s s , t h e f a c t t h a t t h e r o o t
a c c o u n t i s l o c k e d — l e a d i n g t o
f e w e r m i s t a k e s f o r a n
i n e x p e r i e n c e d u s e r — a n d t h e v a s t
n u m b e r o f a p p l i c a t i o n s a v a i l a b l e .
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 46/56
f u l l c i r c l e m a g a z i n e # 8 9 4 6
c o n t e n t s ^
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 47/56
f u l l c i r c l e m a g a z i n e # 8 9 4 7
c o n t e n t s ^
Q Q
& &
A A
C o m p i l e d b y G o r d C a m p b e l l
I f y o u h a v e a L i n u x q u e s t i o n , e m a i l i t t o : m i s c @ f u l l c i r c l e m a g a z i n e . o r g , a n d
G o r d w i l l a n s w e r t h e m i n a f u t u r e i s s u e . P l e a s e i n c l u d e a s m u c h
i n f o r m a t i o n a s y o u c a n a b o u t y o u r q u e r y .
Q
I a c c i d e n t a l l y d e l e t e d t h e
i n d i c a t o r - a p p l e t w h e n t r y i n g
t o r e m o v e a n o t h e r a p p l e t i n t h e
t a s k b a r . W h e n l o g g i n g i n a s
a n o t h e r u s e r e v e r y t h i n g i s a s i t
s h o u l d b e . W h a t d o I h a v e t o d o t o
m a k e t h i s a p p l e t r e - a p p e a r o n m y
t a s k b a r ?
A
( T h a n k s t o i b j s b 4 i n t h e
U b u n t u F o r u m s ) A l t - r i g h t -
c l i c k , A d d t o p a n e l , c h o o s e
i n d i c a t o r a p p l e t .
Q
I j u s t s t a r t e d u s i n g U b u n t u , I
w a n t t o i n s t a l l E c l i p s e C D T .
A
O p e n S o f t w a r e C e n t r e , s e a r c h
f o r E c l i p s e C D T , c l i c k o n
I n s t a l l . I t ' s p r e t t y d i f f e r e n t f r o m
w h a t y o u a r e u s e d t o .
Q
I a m u s i n g t h e G n o m e 3
d e s k t o p o n U b u n t u 1 4 . 0 4 . I u s e
t w o m o n i t o r s . I c a n r e s e t t h e m t o
t h e c o r r e c t p o s i t i o n s u s i n g n v i d i a
x s e r v e r o r t h e d i s p l a y s e t t i n g , b u t
t h e y s t a y t h e r i g h t w a y r o u n d o n l y
u n t i l t h e n e x t r e b o o t .
A
( T h a n k s t o b i z h a t i n t h e
U b u n t u F o r u m s ) W h e n N v i d i a
x s e r v e r g i v e s t h e o p t i o n t o s a v e
t h e c h a n g e s , s a v e t h e m i n
x o r g . c o n f i n f o l d e r / e t c / X 1 1
Q
I s t h e r e a s o f t w a r e s o l u t i o n
f o r u p d a t i n g a L i n u x s e r v e r
w i t h n o i n t e r n e t ?
A
Y o u c a n u s e a p t - o f f l i n e .
Q
I h a v e i n s t a l l e d t h e d r i v e r s f o r
[ s o m e p r o g r a m ] i n W I N E , b u t i t
d o e s n ' t w o r k .
A
( T h a n k s t o V l a d l e n i n 5 0 0 i n
t h e U b u n t u F o r u m s ) N o ,
c e r t a i n l y n o t . W I N E r u n s S O M E
W i n d o w s a p p s . I t d o e s n ' t ( i t c a n ' t )
w o r k w i t h d r i v e r s .
Q
I a c c i d e n t a l l y s e n t a p r i n t j o b
t o a p r i n t e r I n o l o n g e r o w n .
N o w I g e t a m e s s a g e p o p p i n g u p ,
s a y i n g t h e r e i s a p r o b l e m . H o w c a n
I m a k e i t s t o p ?
A
Y o u n e e d t o c l e a r t h e p r i n t
q u e u e . T o s e e w h a t i s i n t h e
q u e u e , u s e t h e c o m m a n d : l p q
T o c l e a r t h e q u e u e , u s e t h e
c o m m a n d : c a n c e l - a
Q
H o w c a n I h a v e a f e w
c o n f i d e n t i a l f i l e s s t o r e d i n a n
e n c r y p t e d f o l d e r ?
A
U s e e n c f s , w i t h i t s f r o n t - e n d
p r o g r a m c a l l e d C r y p t k e e p e r .
I n t h e U b u n t u F o r u m s t h e r e i s a
t u t o r i a l c r e a t e d i n 2 0 0 6 w h i c h i s
s t i l l r e l e v a n t t o d a y . ( G o o g l e : e n c f s
u b u n t u f o r u m s ) T h e r e a r e a l s o
o n l i n e t u t o r i a l s f o r C r y p t k e e p e r ,
w h i c h s h o w s u p a s a n i c o n o n t h e
t a s k b a r .
T O P Q U E S T I O N S A T
A S K U B U N T U
* F i n d o u t t h e a p p l i c a t i o n u n d e r
t h e m o u s e
h t t p : / / g o o . g l / H P r t d Z
* f l a s h p l a y e r n o t w o r k i n g i n
C h r o m i u m
h t t p : / / g o o . g l / P Q p f D 4
* A V G a n t i v i r u s n o t w o r k i n g
h t t p : / / g o o . g l / h s 0 L P z
* H D M I a u d i o n o t w o r k i n g o n T V
h t t p : / / g o o . g l / T f M C z h
* N o G R U B S c r e e n o r r e c o v e r y
m o d e o n B o o t a f t e r 1 2 . 0 4 U p g r a d e
h t t p : / / g o o . g l / P l R H O y
* C a n I s e e i n a l o g f i l e a l l G U I
b a s e d t a s k s i n i t s a l t e r n a t i v e
c o m m a n d - l i n e f o r m a t ?
h t t p : / / g o o . g l / g x k h 5 k
* P r o b l e m a c c e s s i n g W i n d o w s
S h a r e f r o m U b u n t u u s i n g S a m b a
h t t p : / / g o o . g l / K N W w t 6
* A n U b u n t u c o m m a n d b r i c k e d m y
s y s t e m ?
h t t p : / / g o o . g l / 9 3 a S r k
* I s i t o k a y t o u s e s y m b o l i c l i n k s i n
m y w e b s e r v e r ?
h t t p : / / g o o . g l / V X b X B g
Q & A
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 48/56
f u l l c i r c l e m a g a z i n e # 8 9 4 8
c o n t e n t s ^
F u l l C i r c l e P o d c a s t
E p i s o d e 4 1 , T r u s t e d
T o F a i l ! !
W e l c o m e t o o u r n e w f o r m a t
s h o w , t h e r e a r e s e v e r a l
c h a n g e s f r o m t h e p r e v i o u s
f o r m a t , t h e m o s t i m p o r t a n t
b e i n g w e a r e n o w r e c o r d i n g
t o g e t h e r a t t h e B l a c k p o o l
M a k e r s p a c e i n t h e o f f i c e .
T h i s E p i s o d e w e T e s t U b u n t u
1 4 . 0 4 , R e v i e w o f O f f i c i a l
U b u n t u S e r v e r B o o k .
Y o u r h o s t s :
• L e s P o u n d e r
• T o n y H u g h e s
• O l i v e r C l a r k
f r o m t h e
B l a c k p o o l ( U K ) L U G
h t t p : / / b l a c k p o o l . l u g . o r g . u k
G o r d h a d a l o n g c a r e e r i n t h e
c o m p u t e r i n d u s t r y , t h e n r e t i r e d f o r
s e v e r a l y e a r s . M o r e r e c e n t l y , h e
s o m e h o w f o u n d h i m s e l f " T h e I T G u y "
a t a 1 5 - p e r s o n a c c o u n t i n g f i r m i n
d o w n t o w n T o r o n t o .
T I P S A N D T E C H N I Q U E S
L i k e a f i n e w i n e , i t g e t s b e t t e r
w i t h a g e .
A
f i v e - y e a r - o l d A c e r A s p i r e O n e
n e t b o o k r e c e n t l y f e l l i n t o m y
l a p . I t h a d W i n d o w s X P i n s t a l l e d ,
w h i c h i s n o t a c c e p t a b l e i n m y h o m e
o r o f f i c e , s o I d e c i d e d t o g i v e
X u b u n t u 1 4 . 0 4 a s p i n .
T h e s p e c s f o r t h i s l i t t l e
c o m p u t e r a r e n o t i m p r e s s i v e . T h e
8 . 5 - i n c h ( d i a g o n a l ) s c r e e n
r e s o l u t i o n i s 1 0 2 4 b y 6 0 0 , r o u g h l y
o n e - q u a r t e r o f t h e s i z e a n d
r e s o l u t i o n o f m y D e l l U l t r a s h a r p
m o n i t o r . T h e k e y b o a r d i s s h r u n k e n
b y 1 0 % , a n d s o m e o f t h e k e y s a r e
i n u n u s u a l l o c a t i o n s . T h e C P U i s a
s i n g l e - c o r e , 3 2 - b i t A t o m N 2 7 0
r u n n i n g a t a m a x i m u m o f 1 . 6 G H z .
T h e m a c h i n e h a s a g i g o f m e m o r y
a n d a 1 6 0 G B h a r d d r i v e . T h e r e a r e
t h r e e U S B 2 . 0 p o r t s , a n E t h e r n e t
p o r t , V G A a n d a u d i o p o r t s , W i - F i
a n d a l o w - r e s o l u t i o n w e b c a m .
O n t h e p o s i t i v e s i d e , t h e f i v e -
y e a r - o l d b a t t e r y w i l l r u n t h e
c o m p u t e r f o r o v e r t w o h o u r s , a n d
i t a p p e a r s t o b e q u i t e p h y s i c a l l y
r o b u s t . I t ' s a l s o s m a l l a n d l i g h t ,
c o m p a r e d t o a t y p i c a l l a p t o p .
I r e m e m b e r b r o w s i n g t h e
f o r u m s w h e n t h i s c o m p u t e r w a s
n e w , a n d t h e r e w e r e l o t s o f p e o p l e
a s k i n g , " h o w d o I g e t s u c h - a n d - s u c h
w o r k i n g . " I n s t a l l i n g X u b u n t u w a s
s l o w , b u t i t w e n t v e r y s m o o t h l y .
W h e n I b o o t e d t h e i n s t a l l e d
s y s t e m , e v e r y t h i n g j u s t w o r k e d !
T h e r e w a s o n e p u z z l e f o r m e :
t h e i n s t a l l e d s y s t e m k n e w a b o u t a
p r i n t e r w h i c h w a s n o t c o n n e c t e d t o
a n y c o m p u t e r a t t h e t i m e , n o r w a s
i t p l u g g e d i n . H u h ?
X u b u n t u d o e s n ' t i n c l u d e a
w e b c a m p r o g r a m , b u t g u v c v i e w
i n s t a l l e d e a s i l y a n d j u s t w o r k e d .
I i n s t a l l e d l m - s e n s o r s , h d d t e m p
a n d c o n k y . O n e b e n e f i t o f t h e l o w -
p o w e r e d C P U : i t n e v e r g e t s v e r y
h o t . I w a s v e r y s u r p r i s e d b y h o w
l i t t l e m e m o r y i s u s e d w h e n t h e
s y s t e m b o o t s u p .
T h e c o m p u t e r p l a y s y o u t u b e
v i d e o s j u s t f i n e , a l t h o u g h I ' m s u r e
i t ' s d r o p p i n g l o t s o f f r a m e s .
A f t e r i n s t a l l i n g S a m b a , I c o u l d
a c c e s s s h a r e d f o l d e r s o n t h e
n e t w o r k , a n d e v e n t u a l l y s e t u p a
s h a r e d f o l d e r o n t h e n e t b o o k .
U n d e r X u b u n t u , i t w a s n o e a s i e r
t h a n s e t t i n g u p a s h a r e d f o l d e r i n
U b u n t u S e r v e r , w i t h n o G U I . ( S e e
l a s t m o n t h ' s Q & A ) .
I i n s t a l l e d x 1 1 v n c s o I c o u l d
c o n t r o l t h e c o m p u t e r r e m o t e l y ,
u s i n g K R D C i n L i n u x , o r R e a l V N C i n
W i n d o w s . T h a t m e a n t I c o u l d u s e
t h e m a c h i n e a s a r e m o t e c a m e r a , a s
w e l l a s a s m a l l f i l e s e r v e r .
T h e s m a l l s c r e e n a n d s l o w C P U
m a k e t h i s f a r f r o m m y f a v o r i t e
c o m p u t e r . H o w e v e r , f r e e W i - F i i s
a v a i l a b l e e v e r y w h e r e t h e s e d a y s ,
a n d t h e p o r t a b i l i t y m a k e s t h i s a
v i a b l e o p t i o n f o r w h e n I ' m o u t a n d
a b o u t .
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 49/56
f u l l c i r c l e m a g a z i n e # 8 9 4 9
c o n t e n t s ^
U U
B B
U U
N N
T T
U U
G G
A A
M M
E E
S S
W r i t t e n b y O s c a r R i v e r a
T
h e W i t c h e r 2 : A s s a s s i n s o f
K i n g s E n h a n c e d E d i t i o n h a s
r e c e n t l y b e c o m e a v a i l a b l e f o r L i n u x
a n d I ' m h a p p y t o r e p o r t t h a t i t
p l a y s w e l l . T h e W i t c h e r 2 : A s s a s s i n s
o f K i n g s E n h a n c e d E d i t i o n i s a n
a c t i o n , r o l e - p l a y i n g v i d e o g a m e
d e v e l o p e d b y C D P r o j e k t R E D a n d
p u b l i s h e d b y W a r n e r B r o s . ( N o t e
t h a t o n l y t h e E n h a n c e d E d i t i o n i s
p u b l i s h e d b y W a r n e r B r o t h e r s ) . T h e
g a m e w a s o r i g i n a l l y r e l e a s e d i n
M a y 2 0 1 1 f o r M i c r o s o f t W i n d o w s ,
w i t h a f o l l o w - u p r e l e a s e i n 2 0 1 2 f o r
X b o x 3 6 0 . A l t h o u g h i t w a s r e l e a s e d
f o r L i n u x e a r l y i n S u m m e r 2 0 1 4 , i t
w a s n ' t u n t i l m i d - A u g u s t t h a t I w a s
a b l e t o p l a y i t w i t h o u t a n y c r a s h e s
o r g l i t c h e s o n m y U b u n t u d e s k t o p .
T h e W i t c h e r 2 : A s s a s s i n s o f K i n g s
E n h a n c e d E d i t i o n i s u n d e n i a b l y o n e
o f t h e b e s t a d d i t i o n s t o t h e r a p i d l y
g r o w i n g L i n u x v i d e o g a m e l i b r a r y .
W h e n I f o u n d o u t t h a t T h e
W i t c h e r 2 : A s s a s s i n s o f K i n g s
E n h a n c e d E d i t i o n h a d b e c o m e
a v a i l a b l e f o r L i n u x , I f e l t l i k e a k i d
o n C h r i s t m a s m o r n i n g . I
i m m e d i a t e l y w e n t t o t h e S t e a m
S t o r e t o b u y t h e g a m e , b u t I f i r s t
l o o k e d u p t h e M i n i m u m a n d
R e c o m m e n d e d S y s t e m
R e q u i r e m e n t s f o r t h e g a m e b e f o r e
m a k i n g t h e p u r c h a s e . N o t t o m y
s u r p r i s e , I f o u n d o u t t h a t m y
g r a p h i c s c a r d w a s n o t l i s t e d . I n f a c t ,
o n l y N v i d i a g r a p h i c s c a r d s w e r e
l i s t e d ; n o A M D o r I n t e l g r a p h i c s
c a r d s w e r e s u p p o r t e d . A c c o r d i n g
t o t h e S y s t e m R e q u i r e m e n t s a t t h e
t i m e , y o u n e e d e d t o h a v e a
G e F o r c e 9 8 0 0 G T 5 1 2 M B o r b e t t e r
A N D i t s p e c i f i c a l l y s a i d :
W e r e c o m m e n d t h e f o l l o w i n g
d r i v e r s :
• n V i d i a - n v i d i a b i n a r y d r i v e r
3 3 1 . 7 9 o r l a t e r
• M E S A b a s e d d r i v e r s ( e . g .
" n o u v e a u " ) a r e n o t c u r r e n t l y
s u p p o r t e d .
• I n t e l i n t e g r a t e d g r a p h i c s a r e n o t
c u r r e n t l y s u p p o r t e d .
W h a t a b u m m e r ! E v e n t h o u g h I
h a d a m o r e t h a n c a p a b l e g r a p h i c s
c a r d , I w a s n ' t a b l e t o p l a y t h e
g a m e . A f t e r c o n t i n u o u s l y c h e c k i n g
o n t h e S t e a m F o r u m s a n d T h e
W i t c h e r 2 S t e a m S t o r e p a g e , t h r e e
w e e k s l a t e r I f i n a l l y s a w t h a t o t h e r
L i n u x g a m e r s h a d b e e n s u c c e s s f u l
i n p l a y i n g T h e W i t c h e r 2 w i t h A M D
g r a p h i c s c a r d s . I w e n t t h r o u g h t h e
t r o u b l e o f i n s t a l l i n g A M D ' s C a t a l y s t
1 4 . 2 B e t a g r a p h i c s d r i v e r f r o m
A M D ' s w e b s i t e a n d s u c c e s s f u l l y
p l a y e d t h e g a m e o n m y c o m p u t e r .
A p p a r e n t l y , A M D a c k n o w l e d g e s
t h a t t h e r e i s a s u b s t a n t i a l e n o u g h
a m o u n t o f L i n u x u s e r s t o m a i n t a i n
L i n u x d r i v e r s a s c u r r e n t a s
W i n d o w s a n d M a c d r i v e r s . T h i n g s
a r e d e f i n i t e l y c h a n g i n g f o r t h e
b e t t e r i n t h e L i n u x g a m i n g w o r l d
a n d i t i s a f f e c t i n g d e s k t o p L i n u x a s
a w h o l e .
T h e W i t c h e r 2 : A s s a s s i n s o f
K i n g s E n h a n c e d E d i t i o n w a s w e l l
w o r t h t h e h a s s l e a n d t h e w a i t . A s
s o o n a s I s t a r t e d p l a y i n g t h e g a m e I
w a s i n s t a n t l y h o o k e d . T h e m a i n
c h a r a c t e r , G e r a l t o f R i v i a , a n
u n d e a d m u t a n t , i s t h e t i t l e ' s
w i t c h e r , w h o u s e s s w o r d s a n d
s o r c e r y a s p a r t o f h i s c o m b a t
r e p e r t o i r e . T h e g a m e - p l a y i s v e r y
s m o o t h f r o m t h e b e g i n n i n g a n d
i m p r o v e s a s t h e g a m e p r o g r e s s e s .
T h e g r a p h i c s a r e p h e n o m e n a l
t h r o u g h o u t t h e g a m e b u t
e s p e c i a l l y s t u n n i n g d u r i n g t h e
c i n e m a t i c c u t - s c e n e s . O f t e n , w h i l e
b e i n g a b s o l u t e l y c a p t i v a t e d b y t h e
s t r i k i n g a n i m a t i o n a n d t h e
i n t r i c a c i e s o f t h e p l o t - l i n e , y o u a r e
s u d d e n l y t h r o w n i n t o i n t e n s e
c o m b a t s i t u a t i o n s w h i c h r e q u i r e
q u i c k r e f l e x e s i n o r d e r t o s t a y a l i v e .
T h e s t o r y l i n e , r i c h i n m a g i c , p o l i t i c s ,
T T
h h
e e
W W
i i
t t
c c
h h
e e
r r
2 2
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 50/56
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 51/56
U B U N T U G A M E S
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 52/56
f u l l c i r c l e m a g a z i n e # 8 9 5 2
c o n t e n t s ^
l o a d i n g t i m e . Y o u s t a r t o n t h e
r u n w a y w i t h t h e e n g i n e r u n n i n g
r e a d y f o r t a k e o f f .
Y o u c a n , i f y o u w i s h , m o v e y o u r
m o u s e t o t h e t o p o f t h e s c r e e n t o
a c c e s s t h e m e n u a n d b r i n g u p t h e
l o c a t i o n m a p . T h i s s h o w s y o u , a n d
s o m e A I p l a n e s , o n t h e m a p . F r o m
h e r e , y o u c a n s e e s o m e b a s i c
a i r p o r t i n f o ( r a d i o c h a n n e l s , e t c ) ,
a n d a l s o t h e a b i l i t y t o t o s s y o u r
p l a n e i n t o t h e s k y a t a n
a l t i t u d e / s p e e d o f y o u r c h o o s i n g .
Y o u c a n a l s o c h o o s e f r o m t h e
p r e s e t b u t t o n s t o h a v e y o u r p l a n e
i n t h e s k y h e a d i n g f o r a l a n d i n g .
H a n d y f o r p r a c t i c e . S o m e t h i n g
y o u ’ l l n e e d .
H O W O N E A R T H D O I …
I n e v i t a b l y , y o u ’ l l b e s i t t i n g t h e r e
i n t h e c o c k p i t n o t h a v i n g a c l u e
w h a t t o d o . X - P l a n e d o e s c o m e
w i t h a m a n u a l ( d o n ’ t w o r r y i t ’ s o n l y
1 8 5 p a g e s ) , b u t i t ’ s p r e t t y g e n e r i c
a s e v e r y p l a n e h a s a d i f f e r e n t
c o c k p i t a n d f e a t u r e s t h a t a r e
u n i q u e t o t h a t p l a n e . Y o u c a n
q u i c k l y l e a r n t o f l y a s i n g l e e n g i n e
C e s s n a , b u t t h a t w o n ’ t h e l p y o u a
j o t i f y o u l o a d u p a m o n s t e r
7 3 7 / 7 4 7 . S u r e , y o u ’ l l k n o w t h e
b a s i c d i a l s , b u t e v e r y t h i n g a b o v e a
C e s s n a m a y n e e d a k n o w l e d g e o f
t h e f l i g h t c o m p u t e r ( F M C ) o r a
k n o w l e d g e o f w a y p o i n t s a n d f l i g h t
p l a n s . I t ’ s a l l h e a d y s t u f f a n d a l o t
t o t a k e i n . F r o m m y s h o r t t i m e
( t h u s f a r ) o f u s i n g X - P l a n e I ’ l l g i v e
y o u t h i s p i e c e o f a d v i c e : r e m e m b e r ,
i t ’ s a s i m u l a t o r . I f y o u w a n t t o k n o w
s o m e t h i n g , l o o k a t t h e r e a l - w o r l d .
W a t c h v i d e o s o n Y o u T u b e o f a c t u a l
f l i g h t s . W h a t y o u s e e i n r e a l l i f e i s
w h a t y o u n e e d t o d o i n X - P l a n e .
S C E N E R Y A N D A D D - O N S
W h i l e X - P l a n e l o o k s O K i n t h e
g r a p h i c s d e p a r t m e n t , I r e c o m m e n d
y o u i n s t a l l s o m e s c e n e r y p a c k s . X -
P l a n e h a s t h e l o c a t i o n s ( e g :
G l a s g o w A i r p o r t ) , b u t i t l o o k s
n o t h i n g l i k e t h e r e a l t h i n g . T h i s c a n
b e f i x e d b y u s i n g a d d - o n s c e n e r y .
S i m i l a r l y , w h i l e i t d o e s h a v e
G l a s g o w , i t l o o k s n o t h i n g l i k e
G l a s g o w d o e s i n G o o g l e M a p s . T h i s
i s r e c t i f i e d b y u s i n g m o r e a d d - o n s .
O n c e y o u h a v e a c o u p l e o f t h e s e
i n s t a l l e d , y o u r X - P l a n e w i l l l o o k
f a n t a s t i c . I f y o u r P C c a n h a n d l e i t
t h a t i s .
T h e r e a r e a m y r i a d o f a d d - o n s ;
r e a l i s t i c s k y / c l o u d s / w e a t h e r ,
a i r c r a f t , o n l i n e A T C , t h e l i s t g o e s
o n .
C O N T R O L S
I u s e a M a d C a t z F L Y 5 s t i c k
w h i c h w o r k s e x c e l l e n t l y w i t h X -
P l a n e . T h a n k f u l l y , X - P l a n e i s h i g h l y
U B U N T U G A M E S
c o n f i g u r a b l e . I n t h e f r e e . I d o h a v e t o d e d u c t a s t a r f o r • S o m e c o c k p i t s a r e q u i t e b l u r r y o n
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 53/56
f u l l c i r c l e m a g a z i n e # 8 9 5 3
c o n t e n t s ^
R o n n i e i s t h e f o u n d e r a n d ( s t i l l ! )
e d i t o r o f F u l l C i r c l e . H e ' s a p a r t - t i m e
a r t s a n d c r a f t s s o r t o f g u y , a n d n o w
a n A r d u i n o t i n k e r e r .
J o y s t i c k / B u t t o n s m e n u , y o u h a v e
c o m p l e t e c o n t r o l o v e r t h e
c o n f i g u r a t i o n – b y p r e s s i n g a
b u t t o n o n y o u r s t i c k a n d t h e n
c h o o s i n g w h i c h f e a t u r e i t s h o u l d
c o n t r o l . I t d o e s , o f c o u r s e , a l l o w
t w e a k i n g o f j o y s t i c k s e n s i t i v i t y a n d
j o y s t i c k c a l i b r a t i o n . F u r t h e r i n -
d e p t h c o n f i g u r a t i o n c a n b e d o n e
u s i n g p l u g i n s , b u t I ’ l l t a l k m o r e
a b o u t t h a t n e x t m o n t h . H i n t : i t
i n v o l v e s u s i n g a w e b c a m t o l o o k
a r o u n d y o u r 3 D c o c k p i t .
C O N C L U S I O N
M a k e n o m i s t a k e a b o u t i t , t h i s i s
n o t a g a m e . T h i s i s a s i m u l a t i o n
w i t h s o m u c h t o l e a r n t h a t i t ’ s q u i t e
f r i g h t e n i n g , b u t d o n ’ t l e t i t g e t t o
y o u . Y o u c a n t r e a t t h i s a s e i t h e r a
f r i e n d l y s i m u l a t o r ( i e : q u i c k f l i g h t ,
n o A T C , A t o B ) , o r a s a f u l l - o n s i m
( i e : g e t a f l i g h t p l a n o n l i n e , u s e
r e a l - t i m e o n l i n e A T C , u s e a u t o -
p i l o t , e t c ) – i t ’ s e n t i r e l y u p t o y o u .
W h i l e I d e f i n i t e l y h a v e a l o n g e r
l i s t o f C O N S t h a n P R O S f o r t h i s
r e v i e w , I s t i l l t h i n k X - P l a n e i s a
f a n t a s t i c p i e c e o f s o f t w a r e . Y e s , i t
m a y s e e m e x p e n s i v e ( £ 4 4 . 9 9 a s I
w r i t e t h i s ) , b u t i t h a s a t o n o f a d d -
o n s a n d p l u g i n s – m o s t o f w h i c h a r e
i t s l o n g l o a d i n g t i m e ; i t r e a l l y i s
u n f o r g i v a b l e a n d s o m e t h i n g t h a t I
h o p e w i l l b e f i x e d . T h e o t h e r
d o w n s i d e s c a n e a s i l y b e f i x e d w i t h
f r e e a d d - o n s / p l u g i n s .
N e x t m o n t h , I ’ l l s h o w y o u h o w
t o i n s t a l l t h e f r e e P y t h o n i n s t a l l e r
p l u g i n ( t h a t a l l o w s y o u t o r u n
P y t h o n s c r i p t s i n X - P l a n e ) , t h e n u s e
i t t o s h o w y o u r p l a n e ’ s r e a l - t i m e
p o s i t i o n o n a m a p . B u t w e ’ l l s a v e
t h a t f o r F o x t r o t , C h a r l i e , M i k e ,
n i n e r , z e r o .
X - P l a n e 1 0 r e q u i r e s , a t t h e
m i n i m u m :
• D u a l C o r e , 2 . 5 G H z o r f a s t e r
• 2 G B o f R A M
• A v i d e o c a r d w i t h a t l e a s t 5 0 0 M B
o f V R A M .
P R O S :
• L o o k s g o r g e o u s w h e n y o u h a v e
a d d i t i o n a l s c e n e r y i n s t a l l e d
• Y o u c a n e f f e c t i v e l y d o w n l o a d t h e
e n t i r e w o r l d ’ s l a n d s c a p e
• P l u g i n a r c h i t e c t u r e a l l o w s f o r
m o r e p l a n e s / s c e n e r y / f e a t u r e s
C O N S :
• C a n ’ t e a s i l y d o m u l t i - m o n i t o r
c o c k p i t d i s p l a y
• S o m e p l u g i n s a r e n ’ t L i n u x
c o m p a t i b l e ( e g : S k y M a x x f o r
i m p r o v i n g s k i e s )
• L a n d s c a p e i s a b i t b l a n d a n d l a c k s
d e t a i l ( c a n b e f i x e d w i t h a d d o n s )
• L o c a t i o n s a n d a i r p o r t s a r e n ’ t
a l w a y s b a s e d o n f a c t ( a g a i n , c a n b e
f i x e d w i t h a d d o n s )
• E x t r e m e l y s t e e p l e a r n i n g c u r v e a s
e v e r y p l a n e i s d i f f e r e n t
c l o s e r ( 3 D ) i n s p e c t i o n
• T a k e s f a r t o o l o n g t o l o a d
• D o w n l o a d s i z e c a n b e a n y w h e r e
f r o m 8 G B t o 8 0 G B d e p e n d i n g o n
w h a t p a r t s o f t h e w o r l d y o u w a n t
i n s t a l l e d
• C o u l d b e c o n s i d e r e d q u i t e
e x p e n s i v e f o r a ‘ g a m e ’
• T a k e s a h e f t y m a c h i n e t o r u n t h e
g a m e w i t h d e t a i l e d s c e n e r y ,
b u i l d i n g s , s h a d i n g a n d t r a f f i c .
F o r h e l p a n d a d d o n s :
h t t p : / / f o r u m s . x - p l a n e . o r g /
P l a n e u s e d i n t h e s c r e e n s h o t s i s
t h e E c l i p s e 5 5 0 : h t t p : / / f o r u m s . x -
p l a n e . o r g / i n d e x . p h p ? a p p = d o w n l o a
d s & s h o w f i l e = 1 8 6 6 1
G o o g l e M a p s b a s e d s c e n e r y :
h t t p : / / s i m h e a v e n . c o m /
Y o u r c h a n c e t o s h o w t h e w o r l d y o u r d e s k t o p o r P C . E m a i l y o u r s c r e e n s h o t s a n d
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 54/56
f u l l c i r c l e m a g a z i n e # 8 9 5 4
c o n t e n t s ^
M
M
Y
Y
D
D
E
E
S
S
K
K
T
T
O
O
P
P
p h o t o s t o : m i s c @ f u l l c i r c l e m a g a z i n e . o r g a n d i n c l u d e a b r i e f p a r a g r a p h a b o u t y o u r
d e s k t o p , y o u r P C ' s s p e c s a n d a n y o t h e r i n t e r e s t i n g t i d b i t s a b o u t y o u r s e t u p .
I a m u s i n g a c o m p u t e r w i t h
X u b u n t u o p e r a t i n g s y s t e m . I u s e a
n e t b o o k A x i o o P i c o W 2 1 7 C U t h a t
h a s a r e l a t i v e l y s m a l l d i s p l a y , o n l y
1 0 i n c h e s . H o w e v e r I w a n t e d t o
h a v e a l a r g e w o r k s p a c e , a n d
t h e r e f o r e m a d e t h e p a n e l i n
d e s k b a r m o d e . T h e n I m a d e a m o r e
t r a n s p a r e n t p a n e l a n d I s e t i t t o
a u t o h i d e . I a m u s i n g a n u m i x
d e s k t o p t h e m e , n u m i x c i r c l e i c o n
t h e m e , a n d c o n k y w i t h a s t a n d a r d
t h e m e . T h e s e t h e m e s g i v e m e
m o r e f r e e d o m t o w o r k w i t h m y
c o m p u t e r .
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 55/56
F u l l C i r c l e T e a m
8/11/2019 Full Circle Magazine - issue 89 EN
http://slidepdf.com/reader/full/full-circle-magazine-issue-89-en 56/56
H H
O O
W W
T T
O O
C C
O O
N N
T T
R R
I I
B B
U U
T T
E E
E d i t o r - R o n n i e T u c k e r
r o n n i e @ f u l l c i r c l e m a g a z i n e . o r g
W e b m a s t e r - R o b K e r f i a
a d m i n @ f u l l c i r c l e m a g a z i n e . o r g
P o d c a s t - L e s P o u n d e r & C o .
p o d c a s t @ f u l l c i r c l e m a g a z i n e . o r g
E d i t i n g & P r o o f r e a d i n g
M i k e K e n n e d y , G o r d C a m p b e l l , R o b e r t
O r s i n o , J o s h H e r t e l , B e r t J e r r e d , J i m
D y e r a n d E m i l y G o n y e r
O u r t h a n k s g o t o C a n o n i c a l , t h e m a n y
t r a n s l a t i o n t e a m s a r o u n d t h e w o r l d
a n d T h o r s t e n W i l m s f o r t h e F C M l o g o .
F U L L C I R C L E N E E D S Y O U !
A m a g a z i n e i s n ' t a m a g a z i n e w i t h o u t a r t i c l e s a n d F u l l C i r c l e i s n o
e x c e p t i o n . W e n e e d y o u r o p i n i o n s , d e s k t o p s , s t o r i e s , h o w - t o ' s , r e v i e w s ,
a n d a n y t h i n g e l s e y o u w a n t t o t e l l y o u r f e l l o w * b u n t u u s e r s . S e n d y o u r
a r t i c l e s t o : a r t i c l e s @ f u l l c i r c l e m a g a z i n e . o r g
W e a r e a l w a y s l o o k i n g f o r n e w a r t i c l e s t o i n c l u d e i n F u l l C i r c l e . F o r h e l p a n d a d v i c e p l e a s e
s e e t h e O f f i c i a l F u l l C i r c l e S t y l e G u i d e : h t t p : / / u r l . f u l l c i r c l e m a g a z i n e . o r g / 7 5 d 4 7 1
S e n d y o u r c o m m e n t s o r L i n u x e x p e r i e n c e s t o : l e t t e r s @ f u l l c i r c l e m a g a z i n e . o r g
H a r d w a r e / s o f t w a r e r e v i e w s s h o u l d b e s e n t t o : r e v i e w s @ f u l l c i r c l e m a g a z i n e . o r g
Q u e s t i o n s f o r Q & A s h o u l d g o t o : q u e s t i o n s @ f u l l c i r c l e m a g a z i n e . o r g
D e s k t o p s c r e e n s s h o u l d b e e m a i l e d t o : m i s c @ f u l l c i r c l e m a g a z i n e . o r g
. . . o r y o u c a n v i s i t o u r f o r u m v i a : f u l l c i r c l e m a g a z i n e . o r g
F C M # 8 9
D e a d l i n e :
S u n d a y 1 2 t h O c t . 2 0 1 4 .
R e l e a s e :
F r i d a y 3 1 s t O c t . 2 0 1 4 .
E P U B F o r m a t - R e c e n t e d i t i o n s o f F u l l C i r c l e h a v e a l i n k t o t h e e p u b f i l e o n t h e d o w n l o a d s p a g e . I f y o u h a v e a n y p r o b l e m s w i t h
t h e e p u b f i l e , y o u c a n d r o p a n e m a i l t o : m o b i l e @ f u l l c i r c l e m a g a z i n e . o r g
I s s u u - Y o u c a n r e a d F u l l C i r c l e o n l i n e v i a I s s u u : h t t p : / / i s s u u . c o m / f u l l c i r c l e m a g a z i n e . P l e a s e s h a r e a n d r a t e F C M a s i t h e l p s t o
s p r e a d t h e w o r d a b o u t F C M a n d U b u n t u L i n u x .
G o o g l e P l a y - Y o u c a n n o w r e a d F u l l C i r c l e o n G o o g l e P l a y / B o o k s . E i t h e r s e a r c h f o r ' f u l l c i r c l e m a g a z i n e ' o r
c l i c k t h i s l i n k : h t t p s : / / p l a y . g o o g l e . c o m / s t o r e / b o o k s / a u t h o r ? i d = R o n n i e + T u c k e r
G e t t i n g F u l l C i r c l e M a g a z i n e :