diff options
Diffstat (limited to 'linux-basics')
| -rw-r--r-- | linux-basics/xorg-basics/.pres_xorg_en.tex.swp | bin | 0 -> 32768 bytes | |||
| -rw-r--r-- | linux-basics/xorg-basics/Makefile | 9 | ||||
| -rw-r--r-- | linux-basics/xorg-basics/pres_xorg_en.tex | 182 |
3 files changed, 191 insertions, 0 deletions
diff --git a/linux-basics/xorg-basics/.pres_xorg_en.tex.swp b/linux-basics/xorg-basics/.pres_xorg_en.tex.swp Binary files differnew file mode 100644 index 0000000..45153e3 --- /dev/null +++ b/linux-basics/xorg-basics/.pres_xorg_en.tex.swp diff --git a/linux-basics/xorg-basics/Makefile b/linux-basics/xorg-basics/Makefile new file mode 100644 index 0000000..d641258 --- /dev/null +++ b/linux-basics/xorg-basics/Makefile @@ -0,0 +1,9 @@ +all: + for pdf in `ls -1 *.tex` ; do \ + TEXINPUTS=`pwd`/../..:.:..:$(TEXINPUTS) pdflatex $$pdf; \ + TEXINPUTS=`pwd`/../..:.:..:$(TEXINPUTS) pdflatex $$pdf; \ + done + +clean: + rm -f *.aux *.log *.pdf *.log *.snm *.toc *.vrb *.nav *.out + diff --git a/linux-basics/xorg-basics/pres_xorg_en.tex b/linux-basics/xorg-basics/pres_xorg_en.tex new file mode 100644 index 0000000..80cd146 --- /dev/null +++ b/linux-basics/xorg-basics/pres_xorg_en.tex @@ -0,0 +1,182 @@ +% on the following slides, include icon in the left sidebar +\def\lximg{/usr/share/lx/icons/fueller.png} + +\input{configpres} + +\section{X Windows} + +\title{The X Window System} +\maketitle + +% stop displaying 'fueller.png' on the following slides +\def\lximg{none} + +\begin{frame} +\frametitle{X / X11 / XFree / Xorg ???} +\begin{itemize} +\item X11 is a graphical environment for UNIX systems (and windows systems...) +\item XFree86 is an open source X11 implementation +\item Xorg is the XServer release by the X.org foundation +\item Xorg was forked from XFree86 4.4 RC2 (due to a license change in XFree) +\item Most of the XFree developers moved to X.org +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Client / Server} +\begin{figure}[h] +\centering +\includegraphics[width=10cm]{images/x_server_client.png} +\end{figure} +The X protocol is standardized!!! +\end{frame} + +\begin{frame} +\frametitle{The X protocol} +The X-Server understands four different types of packets: +\begin{itemize} +\item Event +\item Request +\item Reply +\item Error +\end{itemize} +\end{frame} + +\begin{frame}[fragile] +\frametitle{X protocol: Example} +\tiny +1) +\begin{verbatim} +$ xtrace -D:9 -d:0 -k +\end{verbatim} +2) +\begin{verbatim} +$ xclock -display :9 +\end{verbatim} +Then xtrace will show the communication: +\begin{verbatim} +... +000:<:0001: 20: Request(98): QueryExtension name='BIG-REQUESTS' +000:>:0001:32: Reply to QueryExtension: present=true(0x01) major-opcode=145 + first-event=0 first-error=0 +000:<:0002: 4: BIG-REQUESTS-Request(145,0): Enable +.... +\end{verbatim} +\end{frame} + +\begin{frame}[fragile] +\frametitle{X protocol: Forward to a remote machine} +Assuming you DIDN'T start your Xserver using ''-nolisten tcp'': +\begin{verbatim} +# On the host which should display the app +$ xhost +192.168.0.104 +\end{verbatim} +\begin{verbatim} +$ On the machine which starts the app +$ xlock -display 192.168.0.182:0 +\end{verbatim} +\end{frame} + +\begin{frame}[fragile] +\frametitle{X via SSH} +\begin{enumerate} +\item Enable X11 forwarding on the server side: +\begin{verbatim} +# /etc/ssh/sshd_config +X11Forwarding yes +\end{verbatim} +\item Connect from the client side using: +\begin{verbatim} +$ ssh -Y my_server +# In the SSH session +$ xclock +\end{verbatim} +Xclock will be displayed on the client's X server +\end{enumerate} +\end{frame} + +\begin{frame} +\frametitle{What is a Window Manager OR Why do all the systems look different?} +\begin{itemize} +\item A window manager runs on top of the X window system +\item Remember: X is based on a Client / Server infrastructure: +\begin{itemize} +\item The communication between client and server is redirected through the +window manager +\end{itemize} +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Architecture: Graphics / Graphics acceleration} +\begin{figure}[h] +\centering +\includegraphics[width=6cm]{images/x_arch.png} +\end{figure} +\end{frame} + +\begin{frame}[fragile] +\frametitle{Configuration} +\begin{verbatim} +# First of all +cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak +# then you can do +$ Xorg -configure +# On debian based systems you can do +$ dpkg-reconfigure xserver-xorg +\end{verbatim} +\end{frame} + +\begin{frame}[fragile] +\frametitle{Starting X} +\begin{verbatim} +# This will evaluate several files (Xsession, ...) +$ startx +# Evaluates xinitrc +$ xinit +# xinit can also explicitely start an application +$ xinit xclock +\end{verbatim} +\end{frame} + +\begin{frame} +\frametitle{The display manager} +\begin{itemize} +\item Managing X sessions (select the window manager, ...) +\item Providing a login prompt +\item Examples: +\begin{itemize} +\item XDM +\item GDM +\item KDM +\item WDM +\item entrance +\end{itemize} +\end{itemize} +\end{frame} + +\begin{frame}[fragile] +\frametitle{X on small systems} +KDrive aka TinyX: +\begin{itemize} +\item Part of the Xorg release since 7.1 +\item Can directly run on on the framebuffer +\item Debian package: \textbf{xserver-xfbdev} +\item Can be built using something like: +\begin{verbatim} +./configure $XORG_OPTS \ + --disable-xorg --disable-kdrive \ + --enable-xfbdev --disable-glx \ + --disable-dri +\end{verbatim} +\end{itemize} +\end{frame} + +\begin{frame} +\begin{thebibliography}{1} +\bibitem{X} http://en.wikibooks.org/wiki/Guide\_to\_X11/Introduction +\bibitem{XFree} http://en.wikipedia.org/wiki/X\_Window\_System +\end{thebibliography} +\end{frame} + +\input{tailpres} |
