diff options
| author | Manuel Traut <manut@mecka.net> | 2013-03-10 12:13:49 +0100 |
|---|---|---|
| committer | Manuel Traut <manut@mecka.net> | 2013-03-10 12:13:49 +0100 |
| commit | 9c0f862749f30800837a45aff5abdcb529867dbc (patch) | |
| tree | b0ca51fff64f12fac03aea4afaa1fa722376844b /linux-basics/xorg-basics/pres_xorg_en.tex | |
| parent | 33b79c725448efd2c9a72e2ae9a1fb04270492f5 (diff) | |
| parent | cea5039322781f6085dd47954af5584ca3f78911 (diff) | |
Merge branch 'schulung'
updates from current linutronix schulung.git
Conflicts:
Makefile
configpres.tex
flash-memory/ubi/handout_ubi_de.tex
handout.tex
index.txt
pres_master.tex
vorl.tex
vorl1.tex
vorl2.tex
vorl3.tex
vorl4.tex
vorl5.tex
Signed-off-by: Manuel Traut <manut@mecka.net>
Diffstat (limited to 'linux-basics/xorg-basics/pres_xorg_en.tex')
| -rw-r--r-- | linux-basics/xorg-basics/pres_xorg_en.tex | 182 |
1 files changed, 182 insertions, 0 deletions
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} |
