Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Usage (Ubuntu) #3

Closed
rwijtvliet opened this issue Mar 16, 2014 · 22 comments
Closed

Usage (Ubuntu) #3

rwijtvliet opened this issue Mar 16, 2014 · 22 comments

Comments

@rwijtvliet
Copy link

I'm new to all this, so be gentle ;)
Thanks for writing these patches to get the lenovo 2 pro laptops play nicely with linux!

2 Issues:

Is it possible the documentation in /yoga-laptop/yoga-laptop/README is outdated? It reads

Then to load the module itself
  sudo insmod ./ideapad_laptop.ko 

But the .ko file seems to have been removed since.

Then, for /yoga-laptop/sensors:
As soon as I run ./setup, the terminal says

./setup: 5: ./setup: Bad substitution

I'm running ubuntu 13.10 with gnome 3.10.

@pfps
Copy link
Owner

pfps commented Mar 17, 2014

Yes, the docs might not match up.

I'll check for sure tomorrow.

peter

On 03/16/2014 03:51 PM, physicalgerard wrote:

I'm new to all this, so be gentle ;)

Is it possible the documentation in /yoga-laptop/yoga-laptop/README is
outdated?

|Then to load the module itself
sudo insmod ./ideapad_laptop.ko
|

The .ko file seems to have been removed.

Then, for /yoga-laptop/sensors:

As soon as I run ./setup, the terminal says

|./setup: 5: ./setup: Bad substitution
|

I'm running ubuntu 13.10 with gnome 3.10.


Reply to this email directly or view it on GitHub
#3.

@pfps
Copy link
Owner

pfps commented Mar 17, 2014

I got to this earlier than expected.

Grabthe README again. The new directions should work.

peter

On 03/16/2014 03:51 PM, physicalgerard wrote:

I'm new to all this, so be gentle ;)

Is it possible the documentation in /yoga-laptop/yoga-laptop/README is
outdated?

|Then to load the module itself
sudo insmod ./ideapad_laptop.ko
|

The .ko file seems to have been removed.

Then, for /yoga-laptop/sensors:

As soon as I run ./setup, the terminal says

|./setup: 5: ./setup: Bad substitution
|

I'm running ubuntu 13.10 with gnome 3.10.


Reply to this email directly or view it on GitHub
#3.

@pfps
Copy link
Owner

pfps commented Mar 17, 2014

I'm not sure what the problem with setup is.

Could you edit the file to add the -vx options to the first line of the script?

Then when you runthe script, you should be able to see what is causing the
problem.

peter

On 03/16/2014 03:51 PM, physicalgerard wrote:

I'm new to all this, so be gentle ;)

Is it possible the documentation in /yoga-laptop/yoga-laptop/README is
outdated?

|Then to load the module itself
sudo insmod ./ideapad_laptop.ko
|

The .ko file seems to have been removed.

Then, for /yoga-laptop/sensors:

As soon as I run ./setup, the terminal says

|./setup: 5: ./setup: Bad substitution
|

I'm running ubuntu 13.10 with gnome 3.10.


Reply to this email directly or view it on GitHub
#3.

@rwijtvliet
Copy link
Author

It outputs to the terminal

#!/bin/sh -vx
# Fix up permissions for all sensors and run orientation program
# Single optional argument is group to use

group=${GROUPS[0]}
./setup: 5: ./setup: Bad substitution

When running ./orientation, output is
Failed to find the accel_3d sensor

And ./status returns
bash: ./status: /bin/csh: bad interpreter: No such file or directory

The problem is, where ubuntu saves its configuration files?

@pfps
Copy link
Owner

pfps commented Mar 17, 2014

Hmm. You are running ubuntu, right?

Anyway, pull down the latest version, as I've made a few changes.

1/ You maynot have the IIO and sensor hub stuff installed.

Could you check whether the directory /sys/bus/iio/devices/iio:device0
exists? If not, you probably don't have the IIO or sensor hub
subsysteminstalled because Ubuntu doesn't include it.

See whether the following works:

  • get the kernel-devel package
  • go to the sensors/drivers directory
  • make
    If you are lucky this will work and create a bunch of .ko files in the directory.
    If it doesn't work, then send me the messages that are produced.

If it does work, then you can sudo make install to install the drivers,
reboot, and try again.

WARNING: This will add new drivers to your installed system. Hopefully
nothing will break, but ....

2/The status script used csh. I just fixed it to use sh instead.

3/ I'm not sure what the problem with setup is. I modified it to take an
optional argument, which should be a group you belong to.

peter

On 03/17/2014 11:49 AM, physicalgerard wrote:

It outputs to the terminal

|#!/bin/sh -vx

Fix up permissions for all sensors and run orientation program

Single optional argument is group to use

group=${GROUPS[0]}
./setup: 5: ./setup: Bad substitution
|

When running ./orientation, output is
|Failed to find the accel_3d sensor|

And ./status returns
|bash: ./status: /bin/csh: bad interpreter: No such file or directory|

The problem is, where ubuntu saves its configuration files?


Reply to this email directly or view it on GitHub
#3 (comment).

@rwijtvliet
Copy link
Author

Yes, ubuntu 13.10 (with unity and gnome 3.10 desktop environments)

1/ there is indeed no such folder. /sys/bus is the furthest I got.
I tried getting the kernel-devel package, no luck initially. I'm following http://askubuntu.com/questions/359032/unable-to-locate-package-linux-kernel-devel
now (as I said, I'm new to this ;)), but the third line (in the 'answer') is taking a long time and is getting many files from us.archive.ubuntu.com; I wonder if that's what going to solve this. I'll let you know when it's done.

2/ This script also looks for /sys/bus/iio.
We'll have to see if the solution under /1/ solves this.

3/ It seems to have a problem with group=${GROUPS[0]}, when I enter "groups" in a terminal it returns

gerardus adm cdrom sudo dip plugdev lpadmin sambashare

@rwijtvliet
Copy link
Author

result of make:

make -C /usr/src/kernels/3.11.0-18-generic SUBDIRS=/home/gerardus/Downloads/yoga-laptop-master/sensors/drivers modules
make: *** /usr/src/kernels/3.11.0-18-generic: No such file or directory.  Stop.
make: *** [default] Error 2

@nikolauspolak
Copy link

On Ubuntu you'll need the kernel-headers package, also perhaps build-essentials and then change in the Makefile the KDIR variable to:
KDIR := /usr/src/linux-headers-$(shell uname -r)
And for "sudo make install" I had to change in the Makefile the last lines (below install:) from /usr/lib/... to /lib/... - I don't know if there's a better way, but at least this works for me.

@pfps
Copy link
Owner

pfps commented Mar 18, 2014

Thanks for the information.

I've added this information to the README and adjusted the Makefile to make
the change easer, by adding a new variable.

peter

On 03/18/2014 01:06 AM, Nikolaus Polak wrote:

On Ubuntu you'll need the kernel-headers package, also perhaps
build-essentials and then change in the Makefile the KDIR variable to:
KDIR := /usr/src/linux-headers-$(shell uname -r)
And for "sudo make install" I had to change in the Makefile the last lines
(below install:) from /usr/lib/... to /lib/... - I don't know if there's a
better way, but at least this works for me.


Reply to this email directly or view it on GitHub
#3 (comment).

@rwijtvliet
Copy link
Author

Thanks for your help and input.

I think the Makefile's KDIR var (in the yoga_laptop directory) is not quite there yet; I changed it as @nikolauspolak suggested and that part then works under ubuntu.

For make in the sensors/driver directory, I had to make the same change to the Makefile as in the yoga_laptop directory (KDIR and DDIR variables) to get meaningful output. However, still no .ko files. Output of the terminal is now

gerardus@OpaUndOma:~/Downloads/yoga-laptop-master/sensors/drivers$ make
echo /usr/src/linux-headers-3.11.0-18-generic
/usr/src/linux-headers-3.11.0-18-generic
make -C /usr/src/linux-headers-3.11.0-18-generic SUBDIRS=/home/gerardus/Downloads/yoga-laptop-master/sensors/drivers modules
make[1]: Entering directory `/usr/src/linux-headers-3.11.0-18-generic'
  CC [M]  /home/gerardus/Downloads/yoga-laptop-master/sensors/drivers/hid-sensor-trigger.o
/home/gerardus/Downloads/yoga-laptop-master/sensors/drivers/hid-sensor-trigger.c: In function ‘hid_sensor_data_rdy_trigger_set_state’:
/home/gerardus/Downloads/yoga-laptop-master/sensors/drivers/hid-sensor-trigger.c:41:3: error: implicit declaration of function ‘sensor_hub_device_open’ [-Werror=implicit-function-declaration]
   if (sensor_hub_device_open(st->hsdev))
   ^
/home/gerardus/Downloads/yoga-laptop-master/sensors/drivers/hid-sensor-trigger.c:49:3: error: implicit declaration of function ‘sensor_hub_device_close’ [-Werror=implicit-function-declaration]
   sensor_hub_device_close(st->hsdev);
   ^
/home/gerardus/Downloads/yoga-laptop-master/sensors/drivers/hid-sensor-trigger.c:57:30: error: ‘struct hid_sensor_hub_attribute_info’ has no member named ‘logical_minimum’
  state_val += st->power_state.logical_minimum;
                              ^
/home/gerardus/Downloads/yoga-laptop-master/sensors/drivers/hid-sensor-trigger.c:58:32: error: ‘struct hid_sensor_hub_attribute_info’ has no member named ‘logical_minimum’
  report_val += st->report_state.logical_minimum;
                                ^
/home/gerardus/Downloads/yoga-laptop-master/sensors/drivers/hid-sensor-trigger.c: In function ‘hid_sensor_remove_trigger’:
/home/gerardus/Downloads/yoga-laptop-master/sensors/drivers/hid-sensor-trigger.c:72:30: error: ‘struct hid_sensor_common’ has no member named ‘trigger’
  iio_trigger_unregister(attrb->trigger);
                              ^
/home/gerardus/Downloads/yoga-laptop-master/sensors/drivers/hid-sensor-trigger.c:73:24: error: ‘struct hid_sensor_common’ has no member named ‘trigger’
  iio_trigger_free(attrb->trigger);
                        ^
/home/gerardus/Downloads/yoga-laptop-master/sensors/drivers/hid-sensor-trigger.c: In function ‘hid_sensor_setup_trigger’:
/home/gerardus/Downloads/yoga-laptop-master/sensors/drivers/hid-sensor-trigger.c:104:25: error: ‘struct hid_sensor_common’ has no member named ‘trigger’
  indio_dev->trig = attrb->trigger = trig;
                         ^
cc1: some warnings being treated as errors
make[2]: *** [/home/gerardus/Downloads/yoga-laptop-master/sensors/drivers/hid-sensor-trigger.o] Error 1
make[1]: *** [_module_/home/gerardus/Downloads/yoga-laptop-master/sensors/drivers] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.11.0-18-generic'
make: *** [default] Error 2

Maybe it helps, keeping in mind I might just have done something nooby.

Best regards

@nikolauspolak
Copy link

Thanks @pfps , the detection doesn't seem to work somehow:

nik@niks-Yoga:/tmp/yoga-laptop/sensors/drivers$ LANG=C make
echo /usr/src/kernels/3.13.0-18-generic
/usr/src/kernels/3.13.0-18-generic
make -C /usr/src/kernels/3.13.0-18-generic SUBDIRS=/tmp/yoga-laptop/sensors/drivers modules
make: *** /usr/src/kernels/3.13.0-18-generic: No such file or directory.  Stop.
make: *** [default] Error 2

Right path would be /usr/src/linux-headers-3.13.0-18
@physicalgerard I guess you need a newer kernel, I'm on Ubuntu 14.04 / linux 3.13.0-18-generic.

@pfps
Copy link
Owner

pfps commented Mar 23, 2014

I expect that this is the root cause of this problem. You should update to
the most recent version of Ubuntu.

When I started working on the sensors, I was using kernel 3.12, which had
problems. I switched to 3.13 fairly early on. I expect that kernel 3.11 does
not have some of the required functionality. The driver code is taken from a
development area and, Ibelieve, will be in 3.14.

peter

On 03/22/2014 11:09 AM, Nikolaus Polak wrote:

@physicalgerard https://github.com/physicalgerard I guess you need a newer
kernel, I'm on Ubuntu 14.04 / linux 3.13.0-18-generic.


Reply to this email directly or view it on GitHub
#3 (comment).

@rwijtvliet
Copy link
Author

Alright, I've downloaded and installed the latest image of ubuntu 14.04. Linux kernel version is 3.13.0-19-generic. Here are my experiences:

1| First the sensors/drivers directory:

1.1| make returned some errors, after changing the Makefile section

ifeq ($shell grep Fedora /etc/issue,"")
KDIR := /usr/src/linux-headers-$(shell uname -r)
DDIR := /lib/modules/$(shell uname -r)/kernel/drivers/
else
KDIR := /usr/src/kernels/$(shell uname -r)
DDIR := /usr/lib/modules/$(shell uname -r)/kernel/drivers/
endif

to

KDIR := /usr/src/linux-headers-$(shell uname -r)
DDIR := /lib/modules/$(shell uname -r)/kernel/drivers/

it seemed to run as planned.

1.2| The next step sudo make install seemed to run just fine, the output was

install --owner=root --group=root --mode=644 hid-sensor-hub.ko /lib/modules/3.13.0-19-generic/kernel/drivers//hid
install --owner=root --group=root --mode=644 hid-sensor-trigger.ko /lib/modules/3.13.0-19-generic/kernel/drivers//iio/common/hid-sensors
install --owner=root --group=root --mode=644 hid-sensor-accel-3d.ko /lib/modules/3.13.0-19-generic/kernel/drivers//iio/accel
install --owner=root --group=root --mode=644 hid-sensor-als.ko /lib/modules/3.13.0-19-generic/kernel/drivers//iio/light
install --owner=root --group=root --mode=644 hid-sensor-gyro-3d.ko /lib/modules/3.13.0-19-generic/kernel/drivers//iio/gyro
install --owner=root --group=root --mode=644 hid-sensor-magn-3d.ko /lib/modules/3.13.0-19-generic/kernel/drivers//iio/magnetometer 

1.3| Testing 'orientation'
After rebooting, sudo ./orientation is working! The screen rotates whenever it is held a certain way. Cool!

1.4| Testing 'status'
./status had some errors. After changing the line
X=$1 to X=1 its output is

Sensor name: accel_3d
Channel /sys/bus/iio/devices/iio:device1/scan_elements/in_accel_x_en:t status: -1
Channel /sys/bus/iio/devices/iio:device1/scan_elements/in_accel_y_en:t status: -1
Channel /sys/bus/iio/devices/iio:device1/scan_elements/in_accel_z_en:t status: -1
Buffer status: 0
Buffer length: 128
Current trigger: accel_3d-dev1

And if I include the code in a loop for X in 0 1 2 3 this is shown for each of the 4 sensors.
So, success!

So, the sensors/drivers part runs well this time I think.

2| Then the yoga_laptop part:

2.1| make gives an error at first, after changing the Makefile section

KDIR := /usr/src/kernels/$(shell uname -r)

to

KDIR := /usr/src/linux-headers-$(shell uname -r)

the output is

NOTE: You need to have the kernel-devel package installed
echo /usr/src/linux-headers-3.13.0-19-generic
/usr/src/linux-headers-3.13.0-19-generic
make -C /usr/src/linux-headers-3.13.0-19-generic SUBDIRS=/home/gerardus/Downloads/origineel/yoga_laptop modules
make[1]: Entering directory `/usr/src/linux-headers-3.13.0-19-generic'
  Building modules, stage 2.
  MODPOST 1 modules
make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-19-generic'

I guess that was successful.

2.2| sudo make install required deleting /usr from the Makefile line

install --owner=root --group=root --mode=644 ideapad-laptop.ko /usr/lib/modules/$(shell uname -r)/kernel/drivers/platform/x86

after which it outputs

install --owner=root --group=root --mode=644 ideapad-laptop.ko /lib/modules/3.13.0-19-generic/kernel/drivers/platform/x86
install --owner=root --group=root --mode=644 90-yoga-keyboard.hwdb /etc/udev/hwdb.d
udevadm hwdb --update
NOTE: You also need to cp -pr xkeycode ~/.Xmodmap

I think this means success right!?

2.3| sudo make install-keys outputs

install --owner=root --group=root --mode=644 90-yoga-keyboard.hwdb /etc/udev/hwdb.d
udevadm hwdb --update
NOTE: You also need to cp -pr xkeycode ~/.Xmodmap

seems OK too.

2.4| Testing
After reboot, Fn F6 works perfectly, and also wifi is enabled immediately (needed to sudo rmmod ideapad-laptop before)

So I think that this means that all is working. Thanks!!

@pfps
Copy link
Owner

pfps commented Mar 27, 2014

On 03/26/2014 02:44 PM, physicalgerard wrote:

Alright, I've downloaded and installed the latest image of ubuntu 14.04.
Linux kernel version is 3.13.0-19-generic. Here are my experiences:

1| First the sensors/drivers directory:

1.1| |make| returned some errors, after changing the Makefile section

|ifeq ($shell grep Fedora /etc/issue,"")
KDIR := /usr/src/linux-headers-$(shell uname -r)
DDIR := /lib/modules/$(shell uname -r)/kernel/drivers/
else
KDIR := /usr/src/kernels/$(shell uname -r)
DDIR := /usr/lib/modules/$(shell uname -r)/kernel/drivers/
endif
|

to

|KDIR := /usr/src/linux-headers-$(shell uname -r)
DDIR := /lib/modules/$(shell uname -r)/kernel/drivers/
|

it seemed to run as planned.

Hmm. What error did you get? What version of make (make --version) is on
your system?

1.2| The next step |sudo make install| seemed to run just fine, the output was

|install --owner=root --group=root --mode=644 hid-sensor-hub.ko /lib/modules/3.13.0-19-generic/kernel/drivers//hid
install --owner=root --group=root --mode=644 hid-sensor-trigger.ko /lib/modules/3.13.0-19-generic/kernel/drivers//iio/common/hid-sensors
install --owner=root --group=root --mode=644 hid-sensor-accel-3d.ko /lib/modules/3.13.0-19-generic/kernel/drivers//iio/accel
install --owner=root --group=root --mode=644 hid-sensor-als.ko /lib/modules/3.13.0-19-generic/kernel/drivers//iio/light
install --owner=root --group=root --mode=644 hid-sensor-gyro-3d.ko /lib/modules/3.13.0-19-generic/kernel/drivers//iio/gyro
install --owner=root --group=root --mode=644 hid-sensor-magn-3d.ko /lib/modules/3.13.0-19-generic/kernel/drivers//iio/magnetometer
|

1.3| Testing 'orientation'
After rebooting, |sudo ./orientation| is working! The screen rotates
whenever it is held a certain way. Cool!

Excellent.

1.4| Testing 'status'
|./status| had some errors. After changing the line
|X=$1| to |X=1| its output is

|Sensor name: accel_3d
Channel /sys/bus/iio/devices/iio:device1/scan_elements/in_accel_x_en:t status: -1
Channel /sys/bus/iio/devices/iio:device1/scan_elements/in_accel_y_en:t status: -1
Channel /sys/bus/iio/devices/iio:device1/scan_elements/in_accel_z_en:t status: -1
Buffer status: 0
Buffer length: 128
Current trigger: accel_3d-dev1
|

And if I include the code in a loop |for X in 0 1 2 3| this is shown for
each of the 4 sensors.
So, success!

So, the sensors/drivers part runs well this time I think.

status is supposed to take an argument, e.g., status 1 for iio device 1.
I'm going to have it default to 0 for no argument.

2| Then the yoga_laptop part:

2.1| |make| gives an error at first, after changing the Makefile session

|KDIR := /usr/src/kernels/$(shell uname -r)
|

to

|KDIR := /usr/src/linux-headers-$(shell uname -r)|

|Hmm. This needs the same check for distribution as the drivers makefile|.
Does anyone have a good solution for this?

|
|

the output is

|NOTE: You need to have the kernel-devel package installed
echo /usr/src/linux-headers-3.13.0-19-generic
/usr/src/linux-headers-3.13.0-19-generic
make -C /usr/src/linux-headers-3.13.0-19-generic SUBDIRS=/home/gerardus/Downloads/origineel/yoga_laptop modules
make[1]: Entering directory /usr/src/linux-headers-3.13.0-19-generic' Building modules, stage 2. MODPOST 1 modules make[1]: Leaving directory/usr/src/linux-headers-3.13.0-19-generic'
|

I guess that was successful.

No error, so successful. ;-)

2.2| |sudo make install| required deleting |/usr| from the Makefile line

|install --owner=root --group=root --mode=644 ideapad-laptop.ko /usr/lib/modules/$(shell uname -r)/kernel/drivers/platform/x86|
|I made this change as well, as in Fedora you can use either.|||

after which it outputs

|install --owner=root --group=root --mode=644 ideapad-laptop.ko /lib/modules/3.13.0-19-generic/kernel/drivers/platform/x86
install --owner=root --group=root --mode=644 90-yoga-keyboard.hwdb /etc/udev/hwdb.d
udevadm hwdb --update
NOTE: You also need to cp -pr xkeycode ~/.Xmodmap
|

I think this means success right!?

Yes. Just remember to do the cp. I don't know how to do a copy into a user's
home directory in a root make script.

2.3| |sudo make install-keys| outputs

|install --owner=root --group=root --mode=644 90-yoga-keyboard.hwdb /etc/udev/hwdb.d
udevadm hwdb --update
NOTE: You also need to cp -pr xkeycode ~/.Xmodmap
|

seems OK too.

make install does both install-driver and install-keys so this is not needed.

2.4| Testing
After reboot, Fn F6 works perfectly, and also wifi is enabled immediately
(needed to |sudo rmmod ideapad-laptop| before)

I think that you mean Fn F7 - the airplane key,

So I think that this means that all is working. Thanks!!

Looks good!

You should check to see whether Fn F6 works, whether the Novo key produces
anything, and whether the orientation lock key does anything. To make Fn F6
work right you have to hook it (XF86TouchPadToggle) up to a script that
toggles the touchpad on and off. To make the orientation lock key work right
you have to hook it (o) up to the command
pkill --signal SIGUSR1 --exact orientation

How you do this depends on your window manager. In XFCE this is in
Settings->Keyboard->Application Shortcuts

peter

@keshto
Copy link

keshto commented Mar 27, 2014

The Makefile for the sensor drivers, line 7 'ifeq ($shell grep Fedora /etc/issue,"")' should include a check for Ubuntu. I am on version 14.04 same as @physicalgerard.

@pfps
Copy link
Owner

pfps commented Mar 28, 2014

I fiddled with this makefile. It now uses /etc/os-release, and should work
for Fedora and Ubuntu.

peter

On 03/27/2014 10:54 AM, keshto wrote:

The Makefile for the sensor drivers, line 7 'ifeq ($shell grep Fedora
/etc/issue,"")' should include a check for Ubuntu. I am on version 14.04
same as @physicalgerard https://github.com/physicalgerard.


Reply to this email directly or view it on GitHub
#3 (comment).

@rwijtvliet
Copy link
Author

Hey peter,

Thanks for you support. Understood everything sofar, but I'm stuck at hooking up the orientation lock key to the command.

1| I take it that the orientation lock key send a o key combination? Whenever I press it with a terminal window active, a 'r' is typed.

2| I tried out the command pkill --signal SIGUSR1 --exact orientation in terminal, but nothing is happening. (I tried holding the laptop sideways for example). Is that expected?

@nikolauspolak
Copy link

@pfps new makefile is perfect, thanks!

@pfps
Copy link
Owner

pfps commented Mar 29, 2014

The orientation lock key generates a o

The orientation program listens for SIGUSR1 signals. If it gets one, then it
toggles whether it is rotating the screen. If it gets two in short
succession, it does a clockwise rotation and then stops rotating the screen.

|pkill --signal SIGUSR1 --exact orientation
should send a SIGUSR1 signal to the orientation program||

|peter

On 03/28/2014 02:36 PM, physicalgerard wrote:

Hey peter,

Thanks for you support. Understood everything sofar, but I'm stuck at
hooking up the orientation lock key to the command.

1| I take it that the orientation lock key send a o key combination?
Whenever I press it with a terminal window active, a 'r' is typed.

2| I tried out the command |pkill --signal SIGUSR1 --exact orientation| in
terminal, but nothing is happening. (I tried holding the laptop sideways for
example). Is that expected?

Ruud


Reply to this email directly or view it on GitHub
#3 (comment).

@Buri
Copy link
Contributor

Buri commented Apr 26, 2014

For home directory its sufficient to use ~ while running sudo, no solution for root shell however.
Novo button produces Launch2. Works fine with in ubuntu.

@Buri
Copy link
Contributor

Buri commented Apr 27, 2014

Ok, after some digging i found that /usr/bin/logname returns current user name regardless of shell its running in (root or sudo). So something like
cp -pr xkeycode /home/logname/.Xmodmap
should work.

And since this project basically replaces missing drivers, I think its valid option to make this change system wide in /etc/X11/Xmodmap

@pfps
Copy link
Owner

pfps commented Apr 27, 2014

Good.

I modified the makefile to incorporate your suggestion.

peter

On 04/27/2014 02:47 AM, Jakub Buriánek wrote:

Ok, after some digging i found that /usr/bin/logname returns current user
name regardless of shell its running in (root or sudo). So something like
cp -pr xkeycode /home/|logname|/.Xmodmap
should work


Reply to this email directly or view it on GitHub
#3 (comment).

@pfps pfps closed this as completed May 14, 2014
@pfps pfps changed the title Usage Usage (Ubuntu) Jul 1, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants