mirror of
https://github.com/balkian/balkian.github.com.git
synced 2024-11-13 23:22:29 +00:00
add surface go
This commit is contained in:
parent
5b93f7d576
commit
ffb175c22e
@ -154,3 +154,11 @@ copyright = "This work is licensed under a Creative Commons Attribution-ShareAli
|
||||
twitter_domain = ""
|
||||
twitter = "balkian"
|
||||
email = ""
|
||||
|
||||
[markup]
|
||||
[markup.tableOfContents]
|
||||
endLevel = 3
|
||||
startLevel = 1
|
||||
|
||||
[markup.goldmark.renderer]
|
||||
unsafe= true
|
@ -12,7 +12,7 @@ tags:
|
||||
|
||||
Add this to your /etc/lightdm/lightdm.conf file:
|
||||
|
||||
```
|
||||
```cfg
|
||||
[LightDM]
|
||||
logind-check-graphical=true
|
||||
```
|
||||
@ -25,7 +25,8 @@ In addition to editing a single line (which you can also do with `C-x C-e`), it
|
||||
You use it like this:
|
||||
|
||||
List previous commands
|
||||
```
|
||||
|
||||
```shell
|
||||
$ fc -l
|
||||
10259 nvim deploy.sh
|
||||
10260* cd ..
|
||||
@ -35,7 +36,7 @@ $ fc -l
|
||||
|
||||
List commands with date (in zsh)
|
||||
|
||||
```
|
||||
```shell
|
||||
$ fc -ld
|
||||
10260* 19:38 cd ..
|
||||
10261* 19:38 nvim content/cheatsheet/linux.md
|
||||
@ -45,7 +46,7 @@ $ fc -ld
|
||||
|
||||
You can add the date too:
|
||||
|
||||
```
|
||||
```shell
|
||||
$ fc -fld
|
||||
10262 1/10/2019 19:40 cd
|
||||
10263 1/10/2019 19:40 fc -l
|
||||
@ -54,17 +55,37 @@ $ fc -fld
|
||||
|
||||
You can edit a range of commands
|
||||
|
||||
```
|
||||
```shell
|
||||
$ fc 10262 10264
|
||||
```
|
||||
|
||||
|
||||
The range can be relative to the current position, so the previous command is equivalent to:
|
||||
|
||||
```
|
||||
```shell
|
||||
$ fc -3 -1
|
||||
```
|
||||
|
||||
If you save and exit, all commands are executed as a script, and it will be added to your history.
|
||||
|
||||
Source: https://shapeshed.com/unix-fc/
|
||||
|
||||
# Prevent logoff from killing tmux sessions
|
||||
|
||||
Lately I've noticed that logging out of i3, intentionally or when i3 fails, would also kill any tmux or emacs sessions.
|
||||
This is extremely annoying.
|
||||
|
||||
This is caused by a new default in logind (systemd's login) to kill user process on logoff.
|
||||
You can revert this setting in your logind.conf (`/etc/systemd/logind.conf`):
|
||||
|
||||
```cfg
|
||||
KillUserProcesses=no
|
||||
```
|
||||
|
||||
Or only for a specific process (e.g., tmux):
|
||||
|
||||
```shell
|
||||
systemd-run --scope --user tmux
|
||||
```
|
||||
|
||||
Source: https://unix.stackexchange.com/questions/490267/prevent-logoff-from-killing-tmux-session
|
||||
|
@ -17,5 +17,3 @@ From tqdm's github repository:
|
||||
|
||||
|
||||
![TQDM in action](https://raw.githubusercontent.com/tqdm/tqdm/master/images/tqdm.gif)
|
||||
|
||||
#
|
||||
|
@ -1 +0,0 @@
|
||||
j@panther.18281:1546943267
|
@ -9,7 +9,7 @@ menu: main
|
||||
- [x] Write my first journal paper
|
||||
- [x] Write my first book chapter
|
||||
- [x] Chair a W3C Community Group
|
||||
- [ ] Collaborate in a W3C recommendation
|
||||
- [x] Collaborate on a W3C recommendation
|
||||
- [ ] Become a doctor!
|
||||
|
||||
### Technical
|
||||
@ -17,6 +17,7 @@ menu: main
|
||||
- [x] Write my first Django Application
|
||||
- [ ] Develop a distributed LibP2P golang application
|
||||
- [ ] Github repo with +100 stars
|
||||
- [ ] Build a custom LineageOS image
|
||||
|
||||
### Languages
|
||||
- [x] English
|
||||
|
79
content/post/2019-05-01-surface-go.md
Normal file
79
content/post/2019-05-01-surface-go.md
Normal file
@ -0,0 +1,79 @@
|
||||
---
|
||||
title: Linux on the Microsoft Surface Go
|
||||
date: 2019-06-01 00:00:01
|
||||
tags:
|
||||
- linux
|
||||
- surface go
|
||||
- config
|
||||
---
|
||||
|
||||
Believe it or not, Surface tablets have pretty good linux support, except for the webcams in newer models.
|
||||
These are some useful notes to get Ubuntu installed in your surface go, as of Summer 2019.
|
||||
|
||||
|
||||
<!--more-->
|
||||
|
||||
## Installing the kernel
|
||||
|
||||
|
||||
```shell
|
||||
git clone --depth 1 https://github.com/jakeday/linux-surface.git ~/linux-surface
|
||||
cp -a ~/linux-surface /media/<your usb>
|
||||
```
|
||||
|
||||
```shell
|
||||
cp -a /media/<your usb>/linux-surface ~/
|
||||
cd ~/linux-surface/
|
||||
sudo sh setup.sh
|
||||
```
|
||||
|
||||
|
||||
## Booting ubuntu first
|
||||
|
||||
Switch out of Windows S mode.
|
||||
|
||||
|
||||
Boot into the "Command Prompt".
|
||||
|
||||
From Windows go to "change advanced startup options" and select "restart now".
|
||||
|
||||
When it reboots, choose the "Troubleshoot" option, then choose the "Advanced options" option, and finally choose the "Command Prompt" option.
|
||||
|
||||
After the device reboots, login to the command prompt and then you should see a terminal with X:\windows\system32>
|
||||
|
||||
At the prompt, check your UEFI entries:
|
||||
|
||||
```shell
|
||||
bcdedit /enum firmware
|
||||
```
|
||||
|
||||
Copy UEFI entry of "Windows Boot Manager" to create a new entry for Ubuntu: bcdedit /copy {bootmgr} /d "Ubuntu"
|
||||
|
||||
Copy the printed GUID number including the braces {} using Ctrl+C
|
||||
|
||||
Set file path for the new Ubuntu entry. Replace {guid} with the returned GUID of the previous command (Ctrl+V). bcdedit /set {guid} path \EFI\ubuntu\grubx64.efi
|
||||
|
||||
Set Ubuntu as the first/ entry in the boot sequence. Again replace {guid} with the returned GUID of the copy command.
|
||||
|
||||
```shell
|
||||
bcdedit /set {fwbootmgr} displayorder {guid} /addfirst
|
||||
```
|
||||
|
||||
Check your UEFI entries again: bcdedit /enum firmware You should see something like this:
|
||||
|
||||
|
||||
```shell
|
||||
|
||||
Firmware Boot Manager
|
||||
---------------------
|
||||
identifier {fwbootmgr}
|
||||
displayorder {3510232e-f8eb-e811-95ce-9ecab3f9d1c4}
|
||||
{bootmgr}
|
||||
{2148799b-f8eb-e811-95ce-9ecab3f9d1c4}
|
||||
{312e8a67-c2f6-e811-95ce-3c1ab3f9d1de}
|
||||
{312e8a68-c2f6-e811-95ce-3c1ab3f9d1de}
|
||||
timeout 0
|
||||
```
|
||||
|
||||
Make sure the GUID you copied is the first one listed in displayorder. Then type exit, turn off the PC and turn it back on. After this my surface go is automatically booting to the grub bootloader which lets me choose between Windows and Ubuntu but defaults to Ubuntu after ten seconds.
|
||||
|
@ -24,7 +24,7 @@
|
||||
<header id="header">
|
||||
<ul class="navbar" id="navbar">
|
||||
<a href="/">
|
||||
<li {{ if ( eq .URL "/" ) }}
|
||||
<li {{ if ( eq .Params.url "/" ) }}
|
||||
class="active"
|
||||
{{ end }} >
|
||||
<i class="fa fa-home fa-large"></i>
|
||||
|
@ -1,7 +1,7 @@
|
||||
{{ define "site_title" }}{{ .Title }}{{ end }}
|
||||
|
||||
{{ define "content" }}
|
||||
{{ range (.Paginate (where .Data.Pages "Type" "post")).Pages }}
|
||||
{{ range (.Paginate (where .Site.RegularPages "Type" "post")).Pages }}
|
||||
{{ .Render "content-list" }}
|
||||
{{ end }}
|
||||
<!-- Pagination -->
|
||||
|
@ -1,7 +1,7 @@
|
||||
{{ if .Site.Params.orderByPublishDate }}
|
||||
{{ $.Scratch.Set "recentPosts" .Site.Pages.ByPublishDate.Reverse }}
|
||||
{{ $.Scratch.Set "recentPosts" .Site.RegularPages.ByPublishDate.Reverse }}
|
||||
{{ else }}
|
||||
{{ $.Scratch.Set "recentPosts" .Site.Pages }}
|
||||
{{ $.Scratch.Set "recentPosts" .Site.RegularPages }}
|
||||
{{ end }}
|
||||
|
||||
{{ with .Site.Params.postAmount.sidebar }}
|
||||
|
@ -1,34 +1,34 @@
|
||||
<div id="sidebar" class="fixed">
|
||||
<div id="badge" class="flip-container" ontouchstart="this.classList.toggle('hover');">
|
||||
<div class="flipper sticky">
|
||||
<div class="flipper sticky expand">
|
||||
<div class="front">
|
||||
<!-- front content -->
|
||||
<img id="avatar" src="{{ "/img/me.png" | relURL }}">
|
||||
<img id="avatar" class="expandx" src="{{ "/img/me.png" | relURL }}">
|
||||
</div>
|
||||
<div class="back">
|
||||
<!-- back content -->
|
||||
<img id="picture" src="{{ "/img/me-bat.png" | relURL }}">
|
||||
<!-- <img id="picture" src="{{ "/img/me-bat.png" | relURL }}"> -->
|
||||
<div id="about">
|
||||
<!-- <h1 class="title">Interests</h1> -->
|
||||
<div class="icons vertical-center">
|
||||
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fab fa-inverse fa-stack-1x fa-linux"></i></span><span class="explanation">Linux user</span></span>
|
||||
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fab fa-inverse fa-stack-1x fa-android"></i></span><span class="explanation">Android dev and user</span></span>
|
||||
<a href="http://github.com/balkian" target="_blank"><span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fab fa-inverse fa-stack-1x fa-github"></i> </span><span class="explanation">Github user</span></span></a>
|
||||
<a href="http://gitlab.com/balkian" target="_blank"><span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fab fa-inverse fa-stack-1x fa-gitlab"></i> </span><span class="explanation">GitLab user</span></span></a>
|
||||
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fab fa-inverse fa-stack-1x fa-stack-exchange"></i> </span><span class="explanation">StackExchange fan</span></span>
|
||||
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fas fa-inverse fa-stack-1x fa-music"></i> </span><span class="explanation">Music lover</span></span>
|
||||
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fas fa-inverse fa-stack-1x fa-film"></i> </span><span class="explanation">Movie fan</span></span>
|
||||
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fas fa-inverse fa-stack-1x fa-laptop"></i> </span><span class="explanation">Always on a PC</span></span>
|
||||
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fas fa-inverse fa-stack-1x fa-moon"></i> </span><span class="explanation">Night owl</span></span>
|
||||
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fas fa-inverse fa-stack-1x fa-terminal"></i></span> <span class="explanation">CLI user</span></span>
|
||||
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fas fa-inverse fa-stack-1x fa-flag"></i></span> <span class="explanation">I love languages</span></span>
|
||||
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fas fa-inverse fa-stack-1x fa-code"></i> </span> <span class="explanation">I love programming</span></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="about">
|
||||
<!-- <h1 class="title">Interests</h1> -->
|
||||
<div class="icons">
|
||||
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fab fa-inverse fa-stack-1x fa-linux"></i></span><span class="explanation">Linux user</span></span>
|
||||
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fab fa-inverse fa-stack-1x fa-android"></i></span><span class="explanation">Android dev and user</span></span>
|
||||
<a href="http://github.com/balkian" target="_blank"><span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fab fa-inverse fa-stack-1x fa-github"></i> </span><span class="explanation">Github user</span></span></a>
|
||||
<a href="http://gitlab.com/balkian" target="_blank"><span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fab fa-inverse fa-stack-1x fa-gitlab"></i> </span><span class="explanation">GitLab user</span></span></a>
|
||||
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fab fa-inverse fa-stack-1x fa-stack-exchange"></i> </span><span class="explanation">StackExchange fan</span></span>
|
||||
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fas fa-inverse fa-stack-1x fa-music"></i> </span><span class="explanation">Music lover</span></span>
|
||||
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fas fa-inverse fa-stack-1x fa-film"></i> </span><span class="explanation">Movie fan</span></span>
|
||||
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fas fa-inverse fa-stack-1x fa-laptop"></i> </span><span class="explanation">Always on a PC</span></span>
|
||||
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fas fa-inverse fa-stack-1x fa-moon"></i> </span><span class="explanation">Night owl</span></span>
|
||||
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fas fa-inverse fa-stack-1x fa-terminal"></i></span> <span class="explanation">CLI user</span></span>
|
||||
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fas fa-inverse fa-stack-1x fa-flag"></i></span> <span class="explanation">I love languages</span></span>
|
||||
<span class="coolicon"><span class="fa-stack"> <i class="fas fa-square fa-stack-2x" ></i><i class="fas fa-inverse fa-stack-1x fa-code"></i> </span> <span class="explanation">I love programming</span></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="entries">
|
||||
<h2 class="title">Latest entries</h2>
|
||||
|
@ -58,6 +58,7 @@ body {
|
||||
|
||||
.toc ul {
|
||||
list-style: none;
|
||||
text-align: left;
|
||||
}
|
||||
.toc li:before {
|
||||
content: "";
|
||||
@ -102,18 +103,53 @@ body {
|
||||
}
|
||||
|
||||
#sidebar {
|
||||
width: 28%;
|
||||
width: 25%;
|
||||
text-align: right;
|
||||
padding-left: 50px;
|
||||
padding-left: 2%;
|
||||
position: relative;
|
||||
|
||||
}
|
||||
|
||||
#badge {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@media (min-width: 1200px) {
|
||||
#contentwrapper {
|
||||
width: 1200px;
|
||||
position:relative;
|
||||
}
|
||||
|
||||
#container {
|
||||
width: 1200px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
#badge{
|
||||
height: 270px;
|
||||
}
|
||||
|
||||
#content {
|
||||
width: 850px;
|
||||
}
|
||||
|
||||
#sidebar {
|
||||
width: 290px;
|
||||
}
|
||||
|
||||
.front, .back {
|
||||
height: 250px;
|
||||
width: 230px;
|
||||
}
|
||||
|
||||
#badge{
|
||||
display: block;
|
||||
position: relative;
|
||||
margin: 0px auto 10px;
|
||||
width: 80%;
|
||||
height: 180px;
|
||||
width: 250px;
|
||||
height: 300px;
|
||||
padding: 0;
|
||||
/* margin-top: -2em; */
|
||||
-webkit-transform: rotate(-4deg);
|
||||
@ -124,10 +160,17 @@ body {
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
#badge * {
|
||||
.expandx {
|
||||
width: 100%;
|
||||
}
|
||||
.expandy {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.expand {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
/* entire container, keeps perspective */
|
||||
|
||||
.flip-container {
|
||||
@ -159,23 +202,29 @@ body {
|
||||
transform-style: preserve-3d;
|
||||
-webkit-transform-style: preserve-3d;
|
||||
-moz-transform-style: preserve-3d;
|
||||
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* hide back of pane during swap */
|
||||
.front, .back {
|
||||
backface-visibility: hidden;
|
||||
-webkit-backface-visibility: hidden;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
padding: 1%;
|
||||
padding-bottom: 10%;
|
||||
background-color: black;
|
||||
box-shadow: -5px 5px 5px #555;
|
||||
-webkit-box-shadow: -5px 5px 15px #555;
|
||||
-moz-box-shadow: -5px 5px 15px #555;
|
||||
|
||||
/* backface-visibility: hidden; */
|
||||
/* -webkit-backface-visibility: hidden; */
|
||||
/* transform: rotateX(0deg); */
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
padding: 1%;
|
||||
padding-bottom: 10%;
|
||||
background-color: black;
|
||||
box-shadow: -5px 5px 5px #555;
|
||||
-webkit-box-shadow: -5px 5px 15px #555;
|
||||
-moz-box-shadow: -5px 5px 15px #555;
|
||||
}
|
||||
|
||||
.back {
|
||||
backface-visibility: hidden;
|
||||
|
||||
}
|
||||
|
||||
/* front pane, placed above back */
|
||||
@ -185,9 +234,11 @@ body {
|
||||
|
||||
/* back, initially hidden pane */
|
||||
.back {
|
||||
transform: rotateY(180deg);
|
||||
-webkit-transform: rotateY(180deg);
|
||||
z-index: 4;
|
||||
transform: rotateY(180deg);
|
||||
-webkit-transform: rotateY(180deg);
|
||||
z-index: 4;
|
||||
/* height: 100%; */
|
||||
background-color: #ffd700bb;
|
||||
}
|
||||
|
||||
.sticky:after {
|
||||
@ -245,28 +296,12 @@ body {
|
||||
.toc {
|
||||
padding: 1em;
|
||||
position: fixed;
|
||||
border-color: black;
|
||||
border: 1px solid;
|
||||
border: 1px solid lightgray;
|
||||
background-color: white;
|
||||
height: max-content;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media (min-width: 1200px) {
|
||||
#contentwrapper {
|
||||
width: 1200px;
|
||||
position:relative;
|
||||
}
|
||||
|
||||
#container {
|
||||
width: 1200px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
#badge{
|
||||
height: 270px;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -818,3 +853,11 @@ pre {
|
||||
margin:0;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.vertical-center {
|
||||
margin: 0;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
-ms-transform: translateY(-50%);
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
@ -13,3 +13,8 @@ min_version = 0.18
|
||||
[author]
|
||||
name = "J. Fernando Sánchez"
|
||||
homepage = "http://balkian.com"
|
||||
|
||||
[markup]
|
||||
[markup.tableOfContents]
|
||||
endLevel = 3
|
||||
startLevel = 1
|
Loading…
Reference in New Issue
Block a user