X11 forwarding request failed on channel 0

Since upgrading to Fedora 17, I've been getting this message "X11 forwarding request failed on channel 0". I haven't done anything to fix it for a while, but today I got so annoyed with this message, that I decided to fix it.

First I google'd around a bit. What does this message mean? I read a lot of reactions that suggest to fix something on ssh_config on the client side or in sshd_config on the server side. These suggestions did not work for me.

So, how do we debug this?

On the server side, open the firewall on a non-standard port. I used port 222:
iptables -I INPUT -s [client-ip] -p tcp --dport 222 -j ACCEPT
Then I ran sshd in non-forking debug mode on this port:
/usr/sbin/sshd -d -p 222
Then we login from the client, using verbose mode:
ssh -vvv [server]

This generates a lot of logs on both sides. The log on the client side contains:
debug3: Ignored env GTK_IM_MODULE
debug3: Ignored env XAUTHORITY
debug3: Ignored env CCACHE_HASHDIR
debug3: Ignored env _
debug2: channel 0: request shell confirm 1
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug1: Remote: No xauth program; cannot forward with spoofing.
debug2: channel_input_status_confirm: type 100 id 0
X11 forwarding request failed on channel 0

So, what's the problem? The server has no xauth program. The old versions of the ssh client silently failed when the server had no xauth, this new version is just a little more verbose.

Continue Reading…

© GeekLabInfo X11 forwarding request failed on channel 0 is a post from GeekLab.info. You are free to copy materials from GeekLab.info, but you are required to link back to https://www.geeklab.info

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)
Loading...

MySQL – How to get Top N rows for each group

We have the following table and data:

CREATE TEMPORARY TABLE girls(
name text,
haircolor text,
score INT
);
 
INSERT INTO girls VALUES ('Megan','brunette',9);
INSERT INTO girls VALUES ('Tiffany','brunette',5);
INSERT INTO girls VALUES ('Kimberly','brunette',7);
INSERT INTO girls VALUES ('Hester','blonde',10);
INSERT INTO girls VALUES ('Caroline','blonde',5);
 
SELECT * from girls;
+----------+-----------+-------+
| name     | haircolor | score |
+----------+-----------+-------+
| Megan    | brunette  |     9 | 
| Tiffany  | brunette  |     5 | 
| Kimberly | brunette  |     7 | 
| Hester   | blonde    |    10 | 
| Caroline | blonde    |     5 | 
+----------+-----------+-------+
5 rows in set (0.00 sec)

Session Variables

MySQL, at least on the versions I've checked, does not support ROW_NUMBER() function that can assign a sequence number within a group, the MySQL session variables can be used to build a workaround. Session variables do not need to be declared first and can be used to do calculations and perform actions based on them. They appear to require initialization. For instance:

Continue Reading…

© GeekLabInfo MySQL - How to get Top N rows for each group is a post from GeekLab.info. You are free to copy materials from GeekLab.info, but you are required to link back to https://www.geeklab.info

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 1.00 out of 5)
Loading...

Making broken link checker work with Woocommerce external products

I'm working on a new project to bring together all high quality WordPress themes on one website. Today I tried to make broken link checker work with Woocommerce external products.

When you configure the broken link checker to look for urls in the custom field named _product_url, BLC would find all these links. Unfortunately, this only works for posts and pages, but Woocommerce stores its products as product.

So, in order to make these plugins work together, you should add the post_type 'product' to both line 441 and 478 of broken-link-checker/modules/containers/custom_field.php

Guess it would be better if the plugin asked you which post_types should be included.

© GeekLabInfo Making broken link checker work with Woocommerce external products is a post from GeekLab.info. You are free to copy materials from GeekLab.info, but you are required to link back to https://www.geeklab.info

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Buffalo WZR-HP-AG300H: Upgrade the firmware

In order for vlans to work correctly with the Buffalo WZR-HP-AG300H access point, you must upgrade the firmware to (at least) build 19154 of DD-WRT. I think it's some kind of bug that causes ARP replies to be filtered.

I copied the config of one AP to another to find that it didn't work on that device. When comparing the config of both devices, I noticed that the APs were running different versions of the firmware. I do vaguely recall that I updated the firmware of one AP. When the firmware was applied to the other AP as well, all problems were gone right away.

© GeekLabInfo Buffalo WZR-HP-AG300H: Upgrade the firmware is a post from GeekLab.info. You are free to copy materials from GeekLab.info, but you are required to link back to https://www.geeklab.info

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Preupgrade – the root for the previously installed system was not found

Today, I've been digging through forums, log files and python scripts for about 16 hours (!!!) to update my system from Fedora 16 to Fedora 17. Apart from the fact that preupgrade for some reason downloaded all files from US mirrors (I'm in .nl), one of the biggest problems I had was the clear message "The root for the previously installed system was not found".

Why the fsck could it not find my installation? Was it the Luks full disk encryption? Or possibly the LVM volume manager? It couldn't be the btrfs filesystem, could it?

I tried everything possible, and when I was about to give up, I read this message that preupgrade has a problem with btrfs snapshots. Do I have these snapshots?

cryptsetup luksOpen /dev/sda2 disk
lvchange -ay vg_hdd/lv_root
mount /dev/mapper/vg_hdd-lv_root /mnt
btrfs subvolume list /mnt

There was the answer. I did. Two snapshots created by yum.

btrfs subvolume delete /mnt/yum-2012....1
btrfs subvolume delete /mnt/yum-2012....2
umount /mnt
lvchange -an vg_hdd/lv_root
cryptsetup luksClose disk

Damn, this has been a great day. Thanks to those crappy error messages. Time to go to bed.

© GeekLabInfo Preupgrade - the root for the previously installed system was not found is a post from GeekLab.info. You are free to copy materials from GeekLab.info, but you are required to link back to https://www.geeklab.info

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Change the color of selected text

A nifty little detail in html5 is that you can change the color of selected text, which is usually blue. It's just one of those details that webdesigners usually forget.

You can change the color of the selection using the following css:

::selection {
    background-color: red;
    color: #fff;
}
::-moz-selection {
    background-color: red;
    color: #fff;
}

The ::selection is used by most modern browsers, except for Firefox. The latter uses its own selector ::-moz-selection. I read an article that wrote they cannot be combined. As such, the following will NOT work:

::selection, ::-moz-selection { /* You can't combine like this */
    background-color: red;
    color: #fff;
}
© GeekLabInfo Change the color of selected text is a post from GeekLab.info. You are free to copy materials from GeekLab.info, but you are required to link back to https://www.geeklab.info

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Windows 7: Using symbolic links

Linux and unix have had this nifty little feature called symlinks (symbolic links) for decades. Windows has finally caught up with the new command mklink.

Windows Vista introduced the new command mklink, which was expanded in Windows 7.

Syntax

MKLINK [[/D] | [/H] | [/J]] Link Target
 
        /D      Creates a directory symbolic link.  Default is a file
                symbolic link.
        /H      Creates a hard link instead of a symbolic link.
        /J      Creates a Directory Junction.
        Link    specifies the new symbolic link name.
        Target  specifies the path (relative or absolute) that the new link
                refers to.

Examples

Link d:\myfile.txt (the file) to c:\something.txt (the link):

mklink c:\something.txt d:\myfile.txt

Make some crappy old program save its data to your fileserver directly by linking \\fileserver\data (target) to c:\program files\crappy-old-program\data (the directory).

mklink "c:\program files\crappy-old-program\data" \\fileserver\data /d
© GeekLabInfo Windows 7: Using symbolic links is a post from GeekLab.info. You are free to copy materials from GeekLab.info, but you are required to link back to https://www.geeklab.info

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 1.50 out of 5)
Loading...