diff options
| author | Carlos Sosa <gnusosa@gnusosa.net> | 2019-08-14 23:34:59 -0700 |
|---|---|---|
| committer | Carlos Sosa <gnusosa@gnusosa.net> | 2019-08-14 23:34:59 -0700 |
| commit | cbc9b06e4abe070de71529e02fcb9f247e56c85e (patch) | |
| tree | db3006706b484c2f424794074c44d7de761dc1f5 | |
| parent | bf0412832845a926d02151215a6690f648a9bafa (diff) | |
Add list of categories as templates for index.html
| -rwxr-xr-x | article/x240-debian-jessie.html | 1321 | ||||
| -rw-r--r-- | templates/articles-list.html | 7 | ||||
| -rw-r--r-- | templates/essays-list.html | 7 | ||||
| -rw-r--r-- | templates/rpost-list.html | 7 |
4 files changed, 1342 insertions, 0 deletions
diff --git a/article/x240-debian-jessie.html b/article/x240-debian-jessie.html new file mode 100755 index 0000000..ef6c905 --- /dev/null +++ b/article/x240-debian-jessie.html @@ -0,0 +1,1321 @@ +--- +title: Debian Jessie on Thinkpad X240 +categories: [article] +--- +<!DOCTYPE html> +<html> +<head> +<title>Debian Jessie on Thinkpad X240</title> +<!-- 2014-08-07 Thu 08:58 --> +<meta charset="utf-8"> +<meta name="generator" content="Org-mode"> +<meta name="author" content="Carlos Sosa"> +<style type="text/css"> + <!--/*--><![CDATA[/*><!--*/ + .title { text-align: center; } + .todo { font-family: monospace; color: red; } + .done { color: green; } + .tag { background-color: #eee; font-family: monospace; + padding: 2px; font-size: 80%; font-weight: normal; } + .timestamp { color: #bebebe; } + .timestamp-kwd { color: #5f9ea0; } + .right { margin-left: auto; margin-right: 0px; text-align: right; } + .left { margin-left: 0px; margin-right: auto; text-align: left; } + .center { margin-left: auto; margin-right: auto; text-align: center; } + .underline { text-decoration: underline; } + #postamble p, #preamble p { font-size: 90%; margin: .2em; } + p.verse { margin-left: 3%; } + pre { + border: 1px solid #ccc; + box-shadow: 3px 3px 3px #eee; + padding: 8pt; + font-family: monospace; + overflow: auto; + margin: 1.2em; + } + pre.src { + position: relative; + overflow: visible; + padding-top: 1.2em; + } + pre.src:before { + display: none; + position: absolute; + background-color: white; + top: -10px; + right: 10px; + padding: 3px; + border: 1px solid black; + } + pre.src:hover:before { display: inline;} + pre.src-sh:before { content: 'sh'; } + pre.src-bash:before { content: 'sh'; } + pre.src-emacs-lisp:before { content: 'Emacs Lisp'; } + pre.src-R:before { content: 'R'; } + pre.src-perl:before { content: 'Perl'; } + pre.src-java:before { content: 'Java'; } + pre.src-sql:before { content: 'SQL'; } + + table { border-collapse:collapse; } + caption.t-above { caption-side: top; } + caption.t-bottom { caption-side: bottom; } + td, th { vertical-align:top; } + th.right { text-align: center; } + th.left { text-align: center; } + th.center { text-align: center; } + td.right { text-align: right; } + td.left { text-align: left; } + td.center { text-align: center; } + dt { font-weight: bold; } + .footpara:nth-child(2) { display: inline; } + .footpara { display: block; } + .footdef { margin-bottom: 1em; } + .figure { padding: 1em; } + .figure p { text-align: center; } + .inlinetask { + padding: 10px; + border: 2px solid gray; + margin: 10px; + background: #ffffcc; + } + #org-div-home-and-up + { text-align: right; font-size: 70%; white-space: nowrap; } + textarea { overflow-x: auto; } + .linenr { font-size: smaller } + .code-highlighted { background-color: #ffff00; } + .org-info-js_info-navigation { border-style: none; } + #org-info-js_console-label + { font-size: 10px; font-weight: bold; white-space: nowrap; } + .org-info-js_search-highlight + { background-color: #ffff00; color: #000000; font-weight: bold; } + /*]]>*/--> +</style> +<link rel="stylesheet" type="text/css" href="/css/notebook.css" /> + +<script type="text/javascript" src="http://orgmode.org/org-info.js"> +/** + * + * @source: http://orgmode.org/org-info.js + * + * @licstart The following is the entire license notice for the + * JavaScript code in http://orgmode.org/org-info.js. + * + * Copyright (C) 2012-2013 Free Software Foundation, Inc. + * + * + * The JavaScript code in this tag is free software: you can + * redistribute it and/or modify it under the terms of the GNU + * General Public License (GNU GPL) as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) + * any later version. The code is distributed WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU GPL for more details. + * + * As additional permission under GNU GPL version 3 section 7, you + * may distribute non-source (e.g., minimized or compacted) forms of + * that code without the copy of the GNU GPL normally required by + * section 4, provided you include this license notice and a URL + * through which recipients can access the Corresponding Source. + * + * @licend The above is the entire license notice + * for the JavaScript code in http://orgmode.org/org-info.js. + * + */ +</script> + +<script type="text/javascript"> + +/* +@licstart The following is the entire license notice for the +JavaScript code in this tag. + +Copyright (C) 2012-2013 Free Software Foundation, Inc. + +The JavaScript code in this tag is free software: you can +redistribute it and/or modify it under the terms of the GNU +General Public License (GNU GPL) as published by the Free Software +Foundation, either version 3 of the License, or (at your option) +any later version. The code is distributed WITHOUT ANY WARRANTY; +without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU GPL for more details. + +As additional permission under GNU GPL version 3 section 7, you +may distribute non-source (e.g., minimized or compacted) forms of +that code without the copy of the GNU GPL normally required by +section 4, provided you include this license notice and a URL +through which recipients can access the Corresponding Source. + + +@licend The above is the entire license notice +for the JavaScript code in this tag. +*/ + +<!--/*--><![CDATA[/*><!--*/ +org_html_manager.set("TOC_DEPTH", "3"); +org_html_manager.set("LINK_HOME", ""); +org_html_manager.set("LINK_UP", ""); +org_html_manager.set("LOCAL_TOC", "1"); +org_html_manager.set("VIEW_BUTTONS", "0"); +org_html_manager.set("MOUSE_HINT", "underline"); +org_html_manager.set("FIXED_TOC", "0"); +org_html_manager.set("TOC", "1"); +org_html_manager.set("VIEW", "showall"); +org_html_manager.setup(); // activate after the parameters are set +/*]]>*///--> +</script> +<script type="text/javascript"> +/* +@licstart The following is the entire license notice for the +JavaScript code in this tag. + +Copyright (C) 2012-2013 Free Software Foundation, Inc. + +The JavaScript code in this tag is free software: you can +redistribute it and/or modify it under the terms of the GNU +General Public License (GNU GPL) as published by the Free Software +Foundation, either version 3 of the License, or (at your option) +any later version. The code is distributed WITHOUT ANY WARRANTY; +without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU GPL for more details. + +As additional permission under GNU GPL version 3 section 7, you +may distribute non-source (e.g., minimized or compacted) forms of +that code without the copy of the GNU GPL normally required by +section 4, provided you include this license notice and a URL +through which recipients can access the Corresponding Source. + + +@licend The above is the entire license notice +for the JavaScript code in this tag. +*/ +<!--/*--><![CDATA[/*><!--*/ + function CodeHighlightOn(elem, id) + { + var target = document.getElementById(id); + if(null != target) { + elem.cacheClassElem = elem.className; + elem.cacheClassTarget = target.className; + target.className = "code-highlighted"; + elem.className = "code-highlighted"; + } + } + function CodeHighlightOff(elem, id) + { + var target = document.getElementById(id); + if(elem.cacheClassElem) + elem.className = elem.cacheClassElem; + if(elem.cacheClassTarget) + target.className = elem.cacheClassTarget; + } +/*]]>*///--> +</script> +</head> +<body> +<div id="content"> + <h1 class="title">Debian Jessie on Thinkpad X240</h1> +<nav id="table-of-contents"> +<h2>Table of Contents</h2> +<div id="text-table-of-contents"> +<ul> +<li><a href="#sec-1">Why not Debian Wheezy?</a></li> +<li><a href="#sec-2">Hardware</a> +<ul> +<li><a href="#sec-2-1">Kernel</a></li> +<li><a href="#sec-2-2">Brightness Controls</a></li> +<li><a href="#sec-2-3">Intel Graphics</a></li> +<li><a href="#sec-2-4">Power Saving</a> +<ul> +<li><a href="#sec-2-4-1">Powertop</a></li> +<li><a href="#sec-2-4-2">RC6 Kernel Settings</a></li> +<li><a href="#sec-2-4-3">TLP</a></li> +</ul> +</li> +<li><a href="#sec-2-5">Touchpad</a></li> +</ul> +</li> +<li><a href="#sec-3">System</a> +<ul> +<li><a href="#sec-3-1">systemd</a> +<ul> +<li><a href="#sec-3-1-1">systemd for Debian</a></li> +<li><a href="#sec-3-1-2">journalctl</a></li> +<li><a href="#sec-3-1-3">NetworkManager</a></li> +<li><a href="#sec-3-1-4">MySQL</a></li> +<li><a href="#sec-3-1-5">TLP</a></li> +<li><a href="#sec-3-1-6">acpid</a></li> +</ul> +</li> +</ul> +</li> +</ul> +</div> +</nav> + + +<div id="outline-container-sec-1" class="outline-2"> +<h2 id="sec-1">Why not Debian Wheezy?</h2> +<div class="outline-text-2" id="text-1"> +<p> +I've tried really hard to get the X240 running on <b>Debian Wheezy</b> (Stable), +but after investing days trying to fix basic hardware failures I decided to +move to <b>Debian Jessie</b> (testing). +</p> +</div> +</div> + +<div id="outline-container-sec-2" class="outline-2"> +<h2 id="sec-2">Hardware</h2> +<div class="outline-text-2" id="text-2"> +</div><div id="outline-container-sec-2-1" class="outline-3"> +<h3 id="sec-2-1">Kernel</h3> +<div class="outline-text-3" id="text-2-1"> +<p> +Before you do anything you should get the hardware working correctly. +In order to do that, any Linux kernel image from the +<i>testing/unstable/experimental</i> repositories will work great. +</p> + +<p> +It's known that most hardware components will work properly starting <i>kernel +version</i> <b>3.12</b>.<br > +<b>3.13.x</b> and <b>3.14.x</b> <i>versions</i> only worked for me. +</p> + +<div class="org-src-container"> + +<pre class="src src-sh">uname -a +</pre> +</div> + +<pre class="example"> +Linux raiser 3.14-1-amd64 #1 SMP Debian 3.14.7-1 (2014-06-16) x86_64 GNU/Linux +</pre> + +<p> +This is how your output of lspci should look like. +</p> + +<div class="org-src-container"> + +<pre class="src src-sh">lspci +</pre> +</div> + +<pre class="example"> +00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 0b) +00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b) +00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b) +00:14.0 USB controller: Intel Corporation Lynx Point-LP USB xHCI HC (rev 04) +00:16.0 Communication controller: Intel Corporation Lynx Point-LP HECI #0 (rev 04) +00:16.3 Serial controller: Intel Corporation Lynx Point-LP HECI KT (rev 04) +00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I218-LM (rev 04) +00:1b.0 Audio device: Intel Corporation Lynx Point-LP HD Audio Controller (rev 04) +00:1c.0 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 6 (rev e4) +00:1c.1 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 3 (rev e4) +00:1d.0 USB controller: Intel Corporation Lynx Point-LP USB EHCI #1 (rev 04) +00:1f.0 ISA bridge: Intel Corporation Lynx Point-LP LPC Controller (rev 04) +00:1f.2 SATA controller: Intel Corporation Lynx Point-LP SATA Controller 1 [AHCI mode] (rev 04) +00:1f.3 SMBus: Intel Corporation Lynx Point-LP SMBus Controller (rev 04) +02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5227 PCI Express Card Reader (rev 01) +03:00.0 Network controller: Intel Corporation Wireless 7260 (rev 83) +</pre> +</div> +</div> + +<div id="outline-container-sec-2-2" class="outline-3"> +<h3 id="sec-2-2">Brightness Controls</h3> +<div class="outline-text-3" id="text-2-2"> +<p> +By default, the brightness keys will control stages of the brightness +level. To change that behavior to gradually change the brightness, add +the following line to your <code>/etc/default/grub</code>: +</p> + +<div class="org-src-container"> + +<pre class="src src-sh">cat /etc/default/grub | grep GRUB_CMDLINE_LINUX_DEFAULT +</pre> +</div> + +<pre class="example"> +GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=Linux acpi_backlight=vendor" +</pre> + +<p> +Next update GRUB: +</p> + +<div class="org-src-container"> + +<pre class="src src-sh">update-grub +</pre> +</div> +</div> +</div> + +<div id="outline-container-sec-2-3" class="outline-3"> +<h3 id="sec-2-3">Intel Graphics</h3> +<div class="outline-text-3" id="text-2-3"> +<p> +By default, X server will enable the hardware acceleration, DRI, and +other GL settings. To enable SNA acceleration for the Intel GPU, +create a configuration file in <code>/etc/X11/xorg.conf.d/</code> with the +following: +</p> + +<div class="org-src-container"> + +<pre class="src src-sh">cat /etc/X11/xorg.conf.d/20-intel.conf +</pre> +</div> + +<pre class="example"> +Section "Device" + Identifier "Intel Graphics" + Driver "intel" + Option "AccelMethod" "sna" +EndSection +</pre> +</div> +</div> + +<div id="outline-container-sec-2-4" class="outline-3"> +<h3 id="sec-2-4">Power Saving</h3> +<div class="outline-text-3" id="text-2-4"> +</div><div id="outline-container-sec-2-4-1" class="outline-4"> +<h4 id="sec-2-4-1">Powertop</h4> +<div class="outline-text-4" id="text-2-4-1"> +<p> +<b>Powertop</b> is a tool that will output the current usage of electricity +by each hardware component, and how it's been managed. +</p> + +<p> +The best feature from <b>Powertop</b> is the <i>Tunables</i> section. In this +section, you're able to fine tune the available power saving modes of +your hardware components. +</p> + +<p> +Start <b>Powertop</b> +</p> + +<div class="org-src-container"> + +<pre class="src src-sh">sudo powertop +</pre> +</div> + +<p> +Hit the key <TAB> to browse, and select from a range of tunable +options. <b>Powertop</b> tells you which to change with a description of +<i>Bad</i>. +</p> +</div> +</div> + +<div id="outline-container-sec-2-4-2" class="outline-4"> +<h4 id="sec-2-4-2">RC6 Kernel Settings</h4> +<div class="outline-text-4" id="text-2-4-2"> +<p> +The <i>Intel i915</i> RC6 triggers a lower power state during the GPUs idle +state. +</p> + +<p> +To enable RC6, you need to add the GRUB boot flag: +</p> + +<div class="org-src-container"> + +<pre class="src src-sh">cat /etc/default/grub | grep GRUB_CMDLINE_LINUX_DEFAULT +</pre> +</div> + +<pre class="example"> +GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.i915_enable_rc6=1" +</pre> + +<p> +Next update GRUB: +</p> + +<div class="org-src-container"> + +<pre class="src src-sh">update-grub +</pre> +</div> + +<p> +This will enable it on boot, but usually <b>TLP</b> handles RC6 switching +on <i>suspend/hibernation/resume</i> modes. +</p> + +<p> +For more information on <i>Intel i915</i> power saving settings, see +<a href="https://wiki.ubuntu.com/Kernel/PowerManagement/PowerSavingTweaks">Ubuntu's Power Saving Tweaks</a>. +</p> +</div> +</div> + +<div id="outline-container-sec-2-4-3" class="outline-4"> +<h4 id="sec-2-4-3">TLP</h4> +<div class="outline-text-4" id="text-2-4-3"> +<p> +Everybody in the community recommends <b>TLP</b> for controlling power +usage, and triggering the power saving capabilities of multiple +hardware devices. <b>TLP</b> works well with <b>systemd</b>, and it provides +specific modules for modern <b>Lenovo Thinkpads</b>. +</p> +</div> + +<ul class="org-ul"><li>Installation<br ><div class="outline-text-5" id="text-2-4-3-1"> +<p> +Create a <code>tlp.list</code> file for the <b>tlp</b> repositories in +<code>/etc/apt/sources.list.d/</code> that contains the following line: +</p> + +<div class="org-src-container"> + +<pre class="src src-sh">cat /etc/apt/sources.list.d/tlp.list +</pre> +</div> + +<pre class="example"> +deb http://ppa.launchpad.net/linrunner/tlp/ubuntu lucid main +</pre> + +<p> +Add <b>TLP</b>'s keys to the apt keyring with the following command: +</p> + +<div class="org-src-container"> + +<pre class="src src-sh">apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 02D65EFF +</pre> +</div> + +<p> +Re-synchronize the packages index and install the <b>TLP</b>'s packages: +</p> + +<div class="org-src-container"> + +<pre class="src src-sh">apt-get update +</pre> +</div> + +<div class="org-src-container"> + +<pre class="src src-sh">apt-get install tlp tlp-rdw tp-smapi-dkms acpi-call-tools +</pre> +</div> + +<p> +For more information about the installation process, see <a href="http://linrunner.de/en/tlp/docs/tlp-linux-advanced-power-management.html#installation">TLP's +installation section</a>. +</p> +</div> +</li> + +<li>Configuration<br ><div class="outline-text-5" id="text-2-4-3-2"> +<p> +My <b>TLP</b> configuration: +</p> + +<div class="org-src-container"> + +<pre class="src src-sh">cat /etc/default/tlp +</pre> +</div> + +<pre class="example"> +# ------------------------------------------------------------------------------ +# tlp - Parameters for power save + +# Hint: some features are disabled by default, remove the leading # to enable them + +# Set to 0 to disable/1 to enable TLP +TLP_ENABLE=1 + +# Seconds laptop mode has to to wait after the disk goes idle before doing a sync. +# Non-zero value enables, zero disables laptop mode. +DISK_IDLE_SECS_ON_AC=0 +DISK_IDLE_SECS_ON_BAT=2 + +# Dirty page values (timeouts in secs). +MAX_LOST_WORK_SECS_ON_AC=15 +MAX_LOST_WORK_SECS_ON_BAT=60 + +# Select a cpu frequency scaling governor: ondemand/powersave/performance/conservative +# Important: +# - You *must* disable your distribution's governor settings or conflicts will occur +# - ondemand is sufficient for *almost all* workloads, you should know what you're doing! +CPU_SCALING_GOVERNOR_ON_AC=performance +CPU_SCALING_GOVERNOR_ON_BAT=ondemand + +# Set the min/max frequency available for the scaling governor. +# Possible values strongly depend on your cpu. For available frequencies see +# tlp-stat output, Section "+++ Processor". +# Hint: Parameters are disabled by default, remove the leading # to enable them, +# otherwise kernel default values are used. +#CPU_SCALING_MIN_FREQ_ON_AC=0 +#CPU_SCALING_MAX_FREQ_ON_AC=0 +#CPU_SCALING_MIN_FREQ_ON_BAT=0 +#CPU_SCALING_MAX_FREQ_ON_BAT=0 + +# Set the cpu "turbo boost" feature: 0=disable / 1=allow +# Requires an Intel Core i processor and kernel 3.7 or later. +# Important: +# - This may conflict with your distribution's governor settings +# - A value of 1 does *not* activate boosting, it just allows it +CPU_BOOST_ON_AC=1 +CPU_BOOST_ON_BAT=0 + +# Minimize number of used cpu cores/hyper-threads under light load conditions +SCHED_POWERSAVE_ON_AC=0 +SCHED_POWERSAVE_ON_BAT=1 + +# Kernel NMI Watchdog +# 0=disable (default, saves power) / 1=enable (for kernel debugging only) +NMI_WATCHDOG=0 + +# Change CPU voltages aka "undervolting" - Kernel with PHC patch required +# Freq:voltage pairs are written to /sys/devices/system/cpu/cpu0/cpufreq/phc_controls +# CAUTION: only use this, if you thoroughly understand what you are doing! +#PHC_CONTROLS="F:V F:V F:V F:V" + +# Hard disk devices, separate multiple devices with spaces (default: sda). +# Devices can be specified by disk id too (lookup with: tlp diskid). +DISK_DEVICES="sda sdb" + +# Hard disk advanced power management level: 1(max saving)..254(off) +# Levels 1..127 may spin down the disk. +# Separate values for multiple devices with spaces. +DISK_APM_LEVEL_ON_AC="254 254" +DISK_APM_LEVEL_ON_BAT="128 128" + +# Hard disk spin down timeout: +# 0: spin down disabled +# 1..240: timeouts from 5s to 20min (in units of 5s) +# 241..251: timeouts from 30min to 5.5 hours (in units of 30min) +# (see 'man hdparm' for details) +#DISK_SPINDOWN_TIMEOUT_ON_AC="0 0" +#DISK_SPINDOWN_TIMEOUT_ON_BAT="0 0" + +# Select io scheduler for the disk devices: noop/deadline/cfq (Default: cfq) +# Separate values for multiple devices with spaces. +#DISK_IOSCHED="cfq cfq" + +# SATA aggressive link power management (ALPM): +# min_power/medium_power/max_performance +SATA_LINKPWR_ON_AC=max_performance +SATA_LINKPWR_ON_BAT=medium_power + +# PCI Express Active State Power Management (PCIe ASPM): +# default/performance/powersave +# Hint: needs kernel boot option pcie_aspm=force on some machines +PCIE_ASPM_ON_AC=performance +PCIE_ASPM_ON_BAT=powersave + +# Radeon graphics clock speed (profile method): low/mid/high/auto/default +# auto = mid on BAT, high on AC; default = use hardware defaults +# (Kernel >= 2.6.35 only, not with fglrx driver!) +RADEON_POWER_PROFILE_ON_AC=high +RADEON_POWER_PROFILE_ON_BAT=low + +# New radeon dynamic power management method (dpm): battery/performance +# (Kernel >= 3.11 only, requires boot option radeon.dpm=1) +RADEON_DPM_STATE_ON_AC=performance +RADEON_DPM_STATE_ON_BAT=battery + +# New radeon dpm performance level: auto/low/high (auto is recommended) +RADEON_DPM_PERF_LEVEL_ON_AC=auto +RADEON_DPM_PERF_LEVEL_ON_BAT=auto + +# WiFi power saving mode: 1=disable/5=enable +# (Linux 2.6.32 and later, some adapters only!) +WIFI_PWR_ON_AC=1 +WIFI_PWR_ON_BAT=5 + +# Disable wake on lan: Y/N +WOL_DISABLE=Y + +# Enable audio power saving for Intel HDA, AC97 devices (timeout in secs). +# A value of 0 disables / >=1 enables power save. +SOUND_POWER_SAVE_ON_AC=0 +SOUND_POWER_SAVE_ON_BAT=1 + +# Disable controller too (HDA only): Y/N +SOUND_POWER_SAVE_CONTROLLER=Y + +# Set to 1 to power off optical drive in UltraBay (ThinkPads only) +# when running on battery. A value of 0 disables this Feature (Default). +# Drive can be powered on again by releasing (and reinserting) the +# eject lever or by pressing the disc eject button on newer models. +# Note: an UltraBay hard disk is never powered off. +BAY_POWEROFF_ON_BAT=0 +# Optical drive device to power off (default sr0) +BAY_DEVICE="sr0" + +# Runtime Power Management for pci(e) bus devices +# (Kernel >= 2.6.35 only): on=disable/auto=enable +RUNTIME_PM_ON_AC=on +RUNTIME_PM_ON_BAT=auto + +# Runtime PM for *all* pci(e) bus devices, expect backlisted ones: +# 0=disable / 1=enable +# Warning: experimental option, could cause system instabilities +RUNTIME_PM_ALL=0 + +# Exclude pci(e) device adresses the following list from Runtime PM +# (separate with spaces). Use lspci to get the adresses (1st column). +#RUNTIME_PM_BLACKLIST="bb:dd.f 11:22.3 44:55.6" + +# Set to 0 to disable/1 to enable usb autosuspend feature +USB_AUTOSUSPEND=1 + +# Devices from the following list are excluded from usb autosuspend +# (separate with spaces). Use lsusb to get the ids. +# Note: input devices (usbhid) are excluded automatically +#USB_BLACKLIST="1111:2222 3333:4444" + +# WWAN devices are excluded from usb autosuspend: +# 0=do not exclude / 1=exclude +# Note: works for ids 05c6:* 0bdb:* 1199:* only +USB_BLACKLIST_WWAN=1 + +# Set to 1 to disable autosuspend before shutdown/0 to do nothing +# (workaround for usb devices that cause shutdown problems) +#USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN=1 + +# Restore radio device state (bluetooth, wifi, wwan) from previous shutdown +# on system startup: 0=disable/1=enable +# Hint: the parameters DEVICES_TO_DISABLE/ENABLE_ON_STARTUP/SHUTDOWN below +# are ignored when this is enabled! +RESTORE_DEVICE_STATE_ON_STARTUP=0 + +# Radio devices to disable on startup: bluetooth wifi wwan +#DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wifi wwan" + +# Radio devices to enable on startup: bluetooth wifi wwan +#DEVICES_TO_ENABLE_ON_STARTUP="wifi" + +# Radio devices to disable on shutdown: bluetooth wifi wwan +# (workaround for devices that are blocking shutdown) +#DEVICES_TO_DISABLE_ON_SHUTDOWN="bluetooth wifi wwan" + +# Radio devices to enable on shutdown: bluetooth wifi wwan +# (to prevent other operating systems from missing radios) +#DEVICES_TO_ENABLE_ON_SHUTDOWN="wwan" + +# Radio devices to enable when wireless radio switch is turned on: +# bluetooth wifi wwan (Ubuntu + ThinkPad only) +#DEVICES_TO_ENABLE_ON_RADIOSW="wifi wwan" + +# Battery charge thresholds (ThinkPad only, tp-smapi or acpi-call kernel module required) +# Charging starts when the remaining capacity falls below the START_CHARGE_TRESH +# value and stops when exceeding the STOP_CHARGE_TRESH value. +# Main battery (values in %) +#START_CHARGE_THRESH_BAT0=75 +#STOP_CHARGE_THRESH_BAT0=80 +# Ultrabay or slice battery (values in %) +#START_CHARGE_THRESH_BAT1=75 +#STOP_CHARGE_THRESH_BAT1=80 + +# Set to 1 to disable use of tpacpi-bat on Sandy Bridge or newer Thinkpads +# and force usage of tp-smapi instead +#DISABLE_TPACPIBAT=1 + +# ------------------------------------------------------------------------------ +# tlp-rdw - Parameters for the radio device wizard +# Possible devices: bluetooth/wifi/wwan + +# Hint: parameters are disabled by default, remove the leading # to enable them + +# Radio devices to disable on connect +DEVICES_TO_DISABLE_ON_LAN_CONNECT="wifi wwan" +DEVICES_TO_DISABLE_ON_WIFI_CONNECT="wwan" +DEVICES_TO_DISABLE_ON_WWAN_CONNECT="wifi" + +# Radio devices to enable on disconnect +DEVICES_TO_ENABLE_ON_LAN_DISCONNECT="wifi wwan" +DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT="" +DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT="" + +# Radio devices to enable/disable when docked +#DEVICES_TO_ENABLE_ON_DOCK="" +#DEVICES_TO_DISABLE_ON_DOCK="" + +# Radio devices to enable/disable when undocked +#DEVICES_TO_ENABLE_ON_UNDOCK="wifi" +#DEVICES_TO_DISABLE_ON_UNDOCK="" +</pre> +</div> +</li></ul> +</div> +</div> + +<div id="outline-container-sec-2-5" class="outline-3"> +<h3 id="sec-2-5">Touchpad</h3> +<div class="outline-text-3" id="text-2-5"> +<p> +As you already notice, the touchpad is quite peculiar. Itself is a +<i>giant click-button</i>. In the upper section of the touchpad, there are +divisions assigned for each mouse button. It gets time to get used to, +but I prefer it since I mostly use my <i>trackpad</i>. The distance between +the divisions of the mouse buttons and the <i>trackpad</i> is perfect, this +makes the usage of both pleasant. +</p> + +<p> +By default, the divisions of the buttons, two-finger scrolling, and +the sensibility calibration are not set. To enable all of them, set up +a configuration file for the <i>X server</i> in <code>/etc/X11/xorg.conf.d/</code> +with the following: +</p> + +<div class="org-src-container"> + +<pre class="src src-sh">cat /etc/X11/xorg.conf.d/50-synaptics.conf +</pre> +</div> + +<pre class="example"> +# Synaptics Touchpad configuration for Thinkpad X240 +Section "InputClass" + Identifier "touchpad catchall" + Driver "synaptics" + MatchIsTouchpad "on" + MatchDevicePath "/dev/input/event*" + + # buttons by multi-touch taps + Option "TapButton1" "1" # left click with one finger tap + Option "TapButton2" "2" # middle click with two finger tap + Option "TapButton3" "3" # right click with three finger tap + + # bottom right corner tap is right click + Option "RBCornerButton" "3" + + # scroll with two fingers only + Option "VertEdgeScroll" "off" + Option "VertTwoFingerScroll" "on" + Option "HorizEdgeScroll" "off" + Option "HorizTwoFingerScroll" "on" + Option "CircularScrolling" "off" + + # locked drags + Option "LockedDrags" "1" + Option "LockedDragTimeout" "500" + + # top row click areas + Option "ClickPad" "true" + Option "SoftButtonAreas" "60% 0 0 5% 40% 60% 0 5%" + Option "AreaTopEdge" "4%" +EndSection + +# avoid interferences from other drivers +Section "InputClass" + Identifier "touchpad ignore duplicates" + MatchIsTouchpad "on" + MatchOS "Linux" + MatchDevicePath "/dev/input/mouse*" + Option "Ignore" "on" +EndSection +</pre> +</div> +</div> +</div> + + +<div id="outline-container-sec-3" class="outline-2"> +<h2 id="sec-3">System</h2> +<div class="outline-text-2" id="text-3"> +</div><div id="outline-container-sec-3-1" class="outline-3"> +<h3 id="sec-3-1">systemd</h3> +<div class="outline-text-3" id="text-3-1"> +<p> +<b><i>systemd</i></b> is a great tool for managing services and system states. I +won't explain what <b><i>systemd</i></b> is, or why you should be using it in +your system. I will only add that, it does have a learning curve, it +goes against all the established patterns for upstarting a system and +its services. +</p> + +<p> +For learning documents and other resources, go to <a href="http://www.freedesktop.org/wiki/Software/systemd/">systemd +official website</a>. +</p> +</div> + +<div id="outline-container-sec-3-1-1" class="outline-4"> +<h4 id="sec-3-1-1">systemd for Debian</h4> +<div class="outline-text-4" id="text-3-1-1"> +<p> +It's redundant to explain how to install and configure <b><i>systemd</i></b> in +Debian, when the Debian's wiki covers everything you need. +</p> + +<p> +Visit <a href="https://wiki.debian.org/systemd"><a href="https://wiki.debian.org/systemd">https://wiki.debian.org/systemd</a></a> +</p> +</div> +</div> + + +<div id="outline-container-sec-3-1-2" class="outline-4"> +<h4 id="sec-3-1-2">journalctl</h4> +<div class="outline-text-4" id="text-3-1-2"> +<p> +<b>journalctl</b> is meant to query the <b><i>systemd</i></b> journal. <b><i>systemd</i></b>'s +journal is an aggregation of most important logs and events occurring +in your system. +</p> + +<p> +In order for the normal user to access <b>journalctl</b>, you must add the +user to the <i>systemd-journal</i> group. +</p> + +<div class="org-src-container"> + +<pre class="src src-sh">usermod -a -G systemd-journal <your username> +</pre> +</div> + +<p> +Now reboot <b><i>systemd</i></b>: +</p> + +<div class="org-src-container"> + +<pre class="src src-sh">systemctl reboot +</pre> +</div> +</div> +</div> + +<div id="outline-container-sec-3-1-3" class="outline-4"> +<h4 id="sec-3-1-3">NetworkManager</h4> +<div class="outline-text-4" id="text-3-1-3"> +<p> +By default, NetworkManager.service should be part of the <b><i>systemd</i></b> lib +directory, and should be enabled. +</p> + +<p> +You should be able to find the service units for NetworkManager in +<code>/etc/systemd/system/</code> +</p> + +<div class="org-src-container"> + +<pre class="src src-sh">cat /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service +</pre> +</div> + +<pre class="example"> +[Unit] +Description=Network Manager + +[Service] +Type=dbus +BusName=org.freedesktop.NetworkManager +ExecStart=/usr/sbin/NetworkManager --no-daemon +# Suppress stderr to eliminate duplicated messages in syslog. NM calls openlog() +# with LOG_PERROR when run in foreground. But systemd redirects stderr to +# syslog by default, which results in logging each message twice. +StandardError=null +# NM doesn't want systemd to kill its children for it +KillMode=process + +[Install] +WantedBy=multi-user.target +Alias=dbus-org.freedesktop.NetworkManager.service +Also=NetworkManager-dispatcher.service +</pre> + +<div class="org-src-container"> + +<pre class="src src-sh">cat /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service +</pre> +</div> + +<pre class="example"> +[Unit] +Description=Network Manager Script Dispatcher Service + +[Service] +Type=dbus +BusName=org.freedesktop.nm_dispatcher +ExecStart=/usr/lib/NetworkManager/nm-dispatcher.action + +[Install] +Alias=dbus-org.freedesktop.nm-dispatcher.service +</pre> + +<p> +You should see that NetworkManager.service is enabled. +</p> + +<div class="org-src-container"> + +<pre class="src src-sh">systemctl status NetworkManager +</pre> +</div> + +<pre class="example"> +NetworkManager.service - Network Manager + Loaded: loaded (/lib/systemd/system/NetworkManager.service; enabled) + Active: active (running) since Thu 2014-08-07 08:51:25 PDT; 7min ago + Main PID: 1011 (NetworkManager) + CGroup: name=systemd:/system/NetworkManager.service + └─1011 /usr/sbin/NetworkManager --no-daemon + +Aug 07 08:51:24 raiser systemd[1]: Starting Network Manager... +Aug 07 08:51:24 raiser NetworkManager[1011]: <info> NetworkManager (version 0.9.8.10) is starting... +Aug 07 08:51:24 raiser NetworkManager[1011]: <info> Read config file /etc/NetworkManager/NetworkManager.conf +Aug 07 08:51:24 raiser NetworkManager[1011]: <info> WEXT support is enabled +Aug 07 08:51:25 raiser NetworkManager[1011]: SCPlugin-Ifupdown: init! +Aug 07 08:51:25 raiser NetworkManager[1011]: SCPlugin-Ifupdown: update_system_hostname +Aug 07 08:51:25 raiser NetworkManager[1011]: SCPluginIfupdown: management mode: unmanaged +Aug 07 08:51:25 raiser NetworkManager[1011]: SCPlugin-Ifupdown: devices added (path: /sys/devices/pci0000:00/0000:00:19.0/net/eth0, iface: eth0) +Aug 07 08:51:25 raiser NetworkManager[1011]: SCPlugin-Ifupdown: device added (path: /sys/devices/pci0000:00/0000:00:19.0/net/eth0, iface: eth0): no ifupdown configuration found. +Aug 07 08:51:25 raiser NetworkManager[1011]: SCPlugin-Ifupdown: devices added (path: /sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0, iface: wlan0) +Aug 07 08:51:25 raiser NetworkManager[1011]: SCPlugin-Ifupdown: device added (path: /sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0, iface: wlan0): no ifupdown configuration found. +Aug 07 08:51:25 raiser NetworkManager[1011]: SCPlugin-Ifupdown: devices added (path: /sys/devices/virtual/net/lo, iface: lo) +Aug 07 08:51:25 raiser NetworkManager[1011]: SCPlugin-Ifupdown: device added (path: /sys/devices/virtual/net/lo, iface: lo): no ifupdown configuration found. +Aug 07 08:51:25 raiser NetworkManager[1011]: SCPlugin-Ifupdown: end _init. +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> Loaded plugin ifupdown: (C) 2008 Canonical Ltd. To report bugs please use the NetworkManager mailing list. +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> Loaded plugin keyfile: (c) 2007 - 2010 Red Hat, Inc. To report bugs please use the NetworkManager mailing list. +Aug 07 08:51:25 raiser NetworkManager[1011]: Ifupdown: get unmanaged devices count: 0 +Aug 07 08:51:25 raiser NetworkManager[1011]: SCPlugin-Ifupdown: (35959328) ... get_connections. +Aug 07 08:51:25 raiser NetworkManager[1011]: SCPlugin-Ifupdown: (35959328) ... get_connections (managed=false): return empty list. +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto wutangclanaintnothingtofuckwithn ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto wutangclanaintnothingtofuckwithn' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto The Box Factory ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto The Box Factory' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto noisebridge ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto noisebridge' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto #SFO FREE WIFI ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto #SFO FREE WIFI' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto GoogleGuest ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto GoogleGuest' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto CoupaSM ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto CoupaSM' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Wired connection 1 ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Wired connection 1' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto wutangn ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto wutangn' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto MonkeyBrains.net ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto MonkeyBrains.net' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto Coupa ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto Coupa' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto NETGEAR-5G ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto NETGEAR-5G' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto wutangclanaintnothingtofuckwith ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto wutangclanaintnothingtofuckwith' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto hearth ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto hearth' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto Sycamore Public ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto Sycamore Public' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto _San_Francisco_Free_WiFi ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto _San_Francisco_Free_WiFi' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing CoupaHQ ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'CoupaHQ' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto cafelabohemesanfrancisco ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto cafelabohemesanfrancisco' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto SRGNC-GUEST ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto SRGNC-GUEST' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Stormpath Guest ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Stormpath Guest' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto Premium ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto Premium' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto JWAFREEWIFI ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto JWAFREEWIFI' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto Automattic-Guest ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto Automattic-Guest' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto CustomerSuccess ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto CustomerSuccess' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto CoffeeBarU ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto CoffeeBarU' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto hearth-new ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto hearth-new' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto Webroot-Guest ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto Webroot-Guest' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto UCBX ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto UCBX' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto BLUEFIG-guest ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto BLUEFIG-guest' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto .Workshop_FREE. ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto .Workshop_FREE.' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto protectyourneck ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto protectyourneck' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto AB4966 ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto AB4966' +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: parsing Auto .FreeWiFibyYahoo! ... +Aug 07 08:51:25 raiser NetworkManager[1011]: keyfile: read connection 'Auto .FreeWiFibyYahoo!' +Aug 07 08:51:25 raiser NetworkManager[1011]: Ifupdown: get unmanaged devices count: 0 +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> monitoring kernel firmware directory '/lib/firmware'. +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> monitoring ifupdown state file '/run/network/ifstate'. +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> rfkill1: found WiFi radio killswitch (at /sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/ieee80211/phy0/rfkill1) (driver iwlwifi) +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> WiFi hardware radio set enabled +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> WiFi enabled by radio killswitch; enabled by state file +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> WWAN enabled by radio killswitch; enabled by state file +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> WiMAX enabled by radio killswitch; enabled by state file +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> Networking is enabled by state file +Aug 07 08:51:25 raiser NetworkManager[1011]: <warn> failed to allocate link cache: (-26) Protocol mismatch +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> (eth0): carrier is OFF +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> (eth0): new Ethernet device (driver: 'e1000e' ifindex: 2) +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> (eth0): exported as /org/freedesktop/NetworkManager/Devices/0 +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> (eth0): device state change: unmanaged -> unavailable (reason 'managed') [10 20 2] +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> (eth0): bringing up device. +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> (eth0): preparing device. +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> (eth0): deactivating device (reason 'managed') [2] +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> (wlan0): using nl80211 for WiFi device control +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> (wlan0): driver supports Access Point (AP) mode +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> (wlan0): new 802.11 WiFi device (driver: 'iwlwifi' ifindex: 3) +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> (wlan0): exported as /org/freedesktop/NetworkManager/Devices/1 +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> (wlan0): device state change: unmanaged -> unavailable (reason 'managed') [10 20 2] +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> (wlan0): bringing up device. +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> (wlan0): preparing device. +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> (wlan0): deactivating device (reason 'managed') [2] +Aug 07 08:51:25 raiser NetworkManager[1011]: <warn> /sys/devices/virtual/net/lo: couldn't determine device driver; ignoring... +Aug 07 08:51:25 raiser NetworkManager[1011]: <warn> /sys/devices/virtual/net/lo: couldn't determine device driver; ignoring... +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> ModemManager available in the bus +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> wpa_supplicant started +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> (wlan0) supports 5 scan SSIDs +Aug 07 08:51:25 raiser NetworkManager[1011]: <warn> Trying to remove a non-existant call id. +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> (wlan0): supplicant interface state: starting -> ready +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> (wlan0): device state change: unavailable -> disconnected (reason 'supplicant-available') [20 30 42] +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> (wlan0): supplicant interface state: ready -> inactive +Aug 07 08:51:25 raiser NetworkManager[1011]: <info> (wlan0) supports 5 scan SSIDs +</pre> +</div> +</div> + + + +<div id="outline-container-sec-3-1-4" class="outline-4"> +<h4 id="sec-3-1-4">MySQL</h4> +<div class="outline-text-4" id="text-3-1-4"> +<p> +The <b>MySQL</b> server <i>debian package</i> doesn't contain a unit service for +it. +</p> + +<p> +Here's a version that I wrote myself: +</p> + +<div class="org-src-container"> + +<pre class="src src-sh">cat /etc/systemd/system/mysqld.service +</pre> +</div> + +<pre class="example"> +[Unit] +Description=MySQL Server +After=network.target + +[Service] +PermissionsStartOnly=true +ExecStartPre=/bin/mkdir /var/run/mysqld +ExecStartPre=/bin/chown -R mysql:mysql /var/run/mysqld +User=mysql +Group=mysql +WorkingDirectory=/usr +ExecStart=/usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf --datadir=/var/lib/mysql --socket=/var/run/mysqld/mysqld.sock + +[Install] +WantedBy=multi-user.target +</pre> +</div> +</div> + + +<div id="outline-container-sec-3-1-5" class="outline-4"> +<h4 id="sec-3-1-5">TLP</h4> +<div class="outline-text-4" id="text-3-1-5"> +<p> +<b>TLP</b>'s <i>Debian package</i> by default, doesn't provide +<code>/etc/systemd/system/tlp.service</code> and +<code>/etc/systemd/system/tlp-sleep.service</code> files for <b><i>systemd</i></b> +</p> + +<p> +You can grab this from the <b>TLP</b>'s upstream git repository like I did. +</p> + +<div class="org-src-container"> + +<pre class="src src-sh">cat /etc/systemd/system/tlp.service +</pre> +</div> + +<pre class="example"> +# tlp - systemd startup/shutdown service +# +# Copyright (c) 2014 Thomas Koch <linrunner at gmx.net> +# This software is licensed under the GPL v2 or later. + +[Unit] +Description=TLP system startup/shutdown +After=multi-user.target +Before=shutdown.target + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/sbin/tlp init start +ExecStop=/usr/sbin/tlp init stop + +[Install] +WantedBy=multi-user.target +</pre> + +<div class="org-src-container"> + +<pre class="src src-sh">cat /etc/systemd/system/tlp-sleep.service +</pre> +</div> + +<pre class="example"> +# tlp - systemd suspend/resume service +# +# Copyright (c) 2014 Thomas Koch <linrunner at gmx.net> +# This software is licensed under the GPL v2 or later. + +[Unit] +Description=TLP suspend/resume +Before=sleep.target +StopWhenUnneeded=yes + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/sbin/tlp suspend +ExecStop=/usr/sbin/tlp resume + +[Install] +WantedBy=sleep.target +</pre> + +<p> +After that enable both services. +</p> + +<div class="org-src-container"> + +<pre class="src src-sh">systemctl enable tlp.service +</pre> +</div> + +<div class="org-src-container"> + +<pre class="src src-sh">systemctl enable tlp-sleep.service +</pre> +</div> + +<p> +Now check that everything is working properly. +</p> + +<div class="org-src-container"> + +<pre class="src src-sh">systemctl status tlp.service +</pre> +</div> + +<pre class="example"> +tlp.service - TLP system startup/shutdown + Loaded: loaded (/etc/systemd/system/tlp.service; enabled) + Active: active (exited) since Thu 2014-08-07 08:51:26 PDT; 7min ago + Process: 1602 ExecStart=/usr/sbin/tlp init start (code=exited, status=0/SUCCESS) + +Aug 07 08:51:26 raiser tlp[1602]: Loading tp-smapi kernel module...done. +Aug 07 08:51:26 raiser tlp[1602]: Setting battery charge thresholds...done. +</pre> +</div> +</div> + +<div id="outline-container-sec-3-1-6" class="outline-4"> +<h4 id="sec-3-1-6">acpid</h4> +<div class="outline-text-4" id="text-3-1-6"> +<p> +<b><i>systemd</i></b> and <b>acpid</b> with <i>acpi-support</i> both offer the same +capabilities for events triggered by hardware, specifically, the ACPI +calls. For example, closing the lid to suspend a laptop. +</p> + +<p> +For instance, by default, the closing the lid will trigger <b>acpid</b> to +call the <i>suspend</i> state of <i>pm-utils</i>, but at the same time +<b><i>systemd</i></b> recognizes the closing action which in the same case will +trigger <i>suspend</i> actions in <b><i>systemd</i></b>. +</p> + +<p> +In order to avoid these, we have to disable the action in either +<b>acpid</b> or <b><i>systemd</i></b>. +</p> +</div> + +<ul class="org-ul"><li>Disable Lid action<br ><div class="outline-text-5" id="text-3-1-6-1"> +<p> +To disable this in <b>acpid</b>, modify <code>/etc/acpi/events/lidbtn</code>, and +comment all of the lines. +</p> + +<div class="org-src-container"> + +<pre class="src src-sh">cat /etc/acpi/events/lidbtn +</pre> +</div> + +<pre class="example"> +# /etc/acpi/events/lidbtn +# Called when the user closes or opens the lid + +#event=button[ /]lid +#action=/etc/acpi/lid.sh +</pre> + + +<p> +To disable this in <b><i>systemd</i></b>, modify <code>/etc/systemd/logind.conf</code>, and +change the key <code>HandleLidSwitch</code> to ignore: +</p> + +<pre class="example"> +HandleLidSwitch=ignore +</pre> +</div> +</li> + +<li>Enable Lid suspend action in systemd<br ><div class="outline-text-5" id="text-3-1-6-2"> +<p> +To enable suspend on closing the laptop lid, disable the <b>acpid</b>'s +like mentioned above. Change the key <code>HandleLidSwitch</code> to suspend in +<code>/etc/systemd/logind.conf</code>: +</p> + +<pre class="example"> +HandleLidSwitch=suspend +</pre> +</div> +</li></ul> +</div> +</div> +</div> +</div> +<div id="postamble" class="status"> +<p class="date">Date: 2014-05-07</p> +<p class="author">Author: Carlos Sosa</p> +<p class="date">Created: 2014-08-07 Thu 08:58</p> +<p class="creator"><a href="http://www.gnu.org/software/emacs/">Emacs</a> 24.3.92.1 (<a href="http://orgmode.org">Org</a> mode 8.2.7b)</p> +<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> +</div> +</body> +</html> diff --git a/templates/articles-list.html b/templates/articles-list.html new file mode 100644 index 0000000..85d082d --- /dev/null +++ b/templates/articles-list.html @@ -0,0 +1,7 @@ +<ul> + $for(articles)$ + <li> + <a href="$url$">$title$</a> + </li> + $endfor$ +</ul> diff --git a/templates/essays-list.html b/templates/essays-list.html new file mode 100644 index 0000000..17c32c9 --- /dev/null +++ b/templates/essays-list.html @@ -0,0 +1,7 @@ +<ul> + $for(essays)$ + <li> + <a href="$url$">$title$</a> + </li> + $endfor$ +</ul> diff --git a/templates/rpost-list.html b/templates/rpost-list.html new file mode 100644 index 0000000..a6736a2 --- /dev/null +++ b/templates/rpost-list.html @@ -0,0 +1,7 @@ +<ul> + $for(rposts)$ + <li> + <a href="$url$">$title$</a> + </li> + $endfor$ +</ul> |
